加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 禁用“应用程序已停止工作”窗口

发布时间:2020-12-14 02:03:28 所属栏目:Windows 来源:网络整理
导读:我们得到了一个.NET WCF服务,理想情况下应该100%正常运行.但有时我们的应用程序中存在由第三方数据库连接组件引起的内存泄漏问题.我们配置nnCron来监视进程存在,当退出该服务的进程时,它应该再次启动它. 但当应用程序崩溃时,窗口会弹出一个嘈杂的窗口,通知
我们得到了一个.NET WCF服务,理想情况下应该100%正常运行.但有时我们的应用程序中存在由第三方数据库连接组件引起的内存泄漏问题.我们配置nnCron来监视进程存在,当退出该服务的进程时,它应该再次启动它.

但当应用程序崩溃时,窗口会弹出一个嘈杂的窗口,通知应用程序已崩溃.

这里是:

只有当我们点击哑巴“关闭程序”按钮时,该过程才真正从系统中消失.并且只有在nnCron重启服务之后.我们不想监视这个窗口出现,只是想摆脱它为nnCron成功的工作.

那么我们如何禁用这样的窗口呢?

操作系统是Windows server 2008 r2 Standard.

解决方法

我知道这是一个老问题,但我遇到了同样的问题并找到了解决方案.

在申请开始时拨打以下电话:

SetErrorMode( SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX );

我尝试使用一个非常简单的测试应用程序尝试取消引用空指针.如果没有上面的行,我的测试应用程序将显示“…已停止工作对话框”.有了上面这一行,应用程序就会悄然死掉.

参考文献:

> Dialog Filter Windows Embedded Standard 7
> MSDN: SetErrorMode function
> pinvoke.net: SetErrorMode

编辑:这是一个在不修改代码的情况下在系统范围内禁用该对话框的选项.创建以下注册表值作为REG_DWORD并将值设置为1:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsWindows Error ReportingDontShowUI

参考:WER Settings

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读