一个软件父亲(非)有条件地爱他的双胞胎节目

时间:2012-06-11 12:29:41

标签: c# autohotkey

我有一个非常一致的C#程序。没关系,我已经创建了程序,它是我的孩子,无论如何我都喜欢它。作为一种支持,我决定在它周围编写一个AutoHotKey包装器,它会自动重启程序直到它完成而没有错误。现在,我希望这不会让我成为一个可怕的父亲,但我对C#计划还有一个愿望:

如果只是在没有跑到Windows 7寻求帮助的情况下可能会失败。问题是它需要我说“是关闭程序,不要调试它”。 Windows认为它可以找到解决问题的方法之后。

如何在没有投诉的情况下让程序失败?它还有大约5500多个PDF需要考虑,如果这两个程序可以在他们自己之间解决问题,我会感到自豪。

3 个答案:

答案 0 :(得分:3)

或者,如果有一个模块失败很多,你可以:

我会尝试解决问题,而不是试图对抗症状。

答案 1 :(得分:3)

修复您的孩子将是首选路径,但也可以使用以下注册表项来禁用提示

From MSDN

[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

(顺便说一句:你似乎已经创建了一个旅行计划,所以你是一个旅游父亲。)