我正在开发一个程序(“A”),它使用ShellExecuteEx来调用偶尔会崩溃的另一个程序(“B”)。程序A可以检测到B的崩溃,并且可以使用TerminateProcess杀死B.
然而,当B崩溃时(在A终止之前),向上弹出Windows“程序B已停止工作”对话框(WerFault.exe)。因此,虽然A可以杀死B,但每次B失败时都会留下一个WerFault.exe实例。
我认为通过使用WER api来调用WerAddExcludedApplication并将B放在排除列表中,我可能会感到高兴。但是,所有这些似乎都是为了更改“已停止工作”对话框,使其仅提供“关闭”和“调试”,并省略“在线检查解决方案”。
任何想法如何在不调用WerFault.exe的情况下让B崩溃? (Windows 7的)。
我确实看到了这个帖子:How to crash a process on Windows-7 without getting the WER dialog?。但是,其目的是确保始终调用WER,而不是如何禁用或忽略它。
建议?