我有以下问题:
我的 ASP.Net 应用程序接收简单控制台程序的 C++ 源代码,使用 cl.exe(命令行 VC++ 编译器)对其进行编译,并使用 System.Diagnostics.Process 运行它。
ASP.Net应用程序运行在PC上,可以用于其他工作(它不是服务器,只是工作机)。我向用户隐藏正在运行的程序窗口(使用 Process.CreateNoWindow 和 Process.WindowStyle = ProcessWindowStyle.Hidden 属性),但有时收到的源可能包含一些崩溃指令(例如访问无效内存地址或其他内容)并且程序崩溃。在这种情况下,Windows 显示错误报告窗口(如果是 Vista - 带有消息“Windows 正在检查问题的解决方案...”的窗口),这会分散用户的注意力并使他感到困惑。
也许有某种方法可以防止显示此消息或自动关闭其?我在 google 上搜索了很多有关 WinAPI 的信息,但找不到解决方案。如果单个进程不可能 - 也许我可以在整个系统上临时禁用此窗口?
从Windows Vista开始,您可以使用WinAPI函数WerAddExcludedApplication
禁用特定应用程序的“Windows 错误报告”。
See: http://msdn.microsoft.com/en-us/library/bb513617(VS.85).aspx http://msdn.microsoft.com/en-us/library/bb513617(VS.85).aspx
在 Vista 之前的 Windows 版本中,该功能AddERExcludedApplication
必须使用。
See: http://msdn.microsoft.com/en-us/library/bb513614(VS.85).aspx http://msdn.microsoft.com/en-us/library/bb513614(VS.85).aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)