3

我正在开发一个程序(“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,而不是如何禁用或关闭它。

建议?

4

0 回答 0