禁用"应用程序已停止工作"窗口

kse*_*een 5 .net windows wcf crash-reports windows-server-2008

我们得到了一个.NET WCF服务,理想情况下应该100%正常运行.但有时我们的应用程序中存在由第三方数据库连接组件引起的内存泄漏问题.我们配置nnCron来监视进程存在,当退出该服务的进程时,它应该再次启动它.

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

这里是:

在此输入图像描述

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

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

操作系统是Windows server 2008 r2 Standard.

Nic*_*ckS 8

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

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

SetErrorMode( SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX );
Run Code Online (Sandbox Code Playgroud)

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

参考文献:

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\DontShowUI
Run Code Online (Sandbox Code Playgroud)

参考:WER设置