1

在我的应用程序中,我使用 COM API 调用另一个应用程序。这会导致其他应用程序在自己的进程中启动并执行某些操作。有时,这些事情会变得很糟糕,应用程序会爆炸。我可以很好地处理从 COM 返回的错误;但是,其他应用程序进程崩溃会导致机器上弹出一个对话框,询问是否应该终止该进程,或者向微软发送帮助,或者其他什么。此服务器不受监控;那里没有人。当它出现在其他人的应用程序上时,如何抑制此对话框?

4

1 回答 1

0

查看 MSDN 上的调试功能DebugActiveProcess我没有测试过这种方法,但我认为你应该能够通过使用、WaitForDebugEvent和来实现你想要ContinueDebugEventFatalExit。这个想法是等待一个调试事件,如果它是你想要的——在这种情况下,一个未处理的异常(dwFirstChanceinEXCEPTION_DEBUG_INFO为零)——用 终止进程FatalExit,否则用 继续执行ContinueDebugEvent

就像我说的,这只是一个想法,我还没有测试过。此外,如果您不介意为整个机器禁用 Windows 错误报告对话框,Oleg 的建议会简单得多。

于 2011-03-14T19:16:01.603 回答