我有一个非常一致的C#程序。没关系,我已经创建了程序,它是我的孩子,无论如何我都喜欢它。作为一种支持,我决定在它周围编写一个AutoHotKey包装器,它会自动重启程序直到它完成而没有错误。现在,我希望这不会让我成为一个可怕的父亲,但我对C#计划还有一个愿望:
如果只是在没有跑到Windows 7寻求帮助的情况下可能会失败。问题是它需要我说“是关闭程序,不要调试它”。 Windows认为它可以找到解决问题的方法之后。
如何在没有投诉的情况下让程序失败?它还有大约5500多个PDF需要考虑,如果这两个程序可以在他们自己之间解决问题,我会感到自豪。
答案 0 :(得分:3)
或者,如果有一个模块失败很多,你可以:
我会尝试解决问题,而不是试图对抗症状。
答案 1 :(得分:3)
修复您的孩子将是首选路径,但也可以使用以下注册表项来禁用提示
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting]
"ForceQueue"=dword:00000001
"DontShowUI"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Consent]
"DefaultConsent"=dword:00000002
答案 2 :(得分:3)
这似乎已经解决了,但是:
SetErrorMode似乎可以完全停用当前进程的Windows错误报告对话框。 (经过测试并适用于我的人为访问违规行为。)
[DllImport("kernel32.dll")]
public static extern uint SetErrorMode(uint uMode); // from msdn page
将uMode设置为SEM_NOGPFAULTERRORBOX
,即0x0002
。
(顺便说一句:你似乎已经创建了一个旅行计划,所以你是一个旅游父亲。)