首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式禁用Windows (AppCrash)对话框

以编程方式禁用Windows (AppCrash)对话框
EN

Stack Overflow用户
提问于 2012-08-24 04:02:05
回答 2查看 6.1K关注 0票数 19

我正在.NET应用程序中执行一个进程。

代码语言:javascript
复制
                Process process = new Process(); 

....

                process.StartInfo.UseShellExecute = false;
                process.StartInfo.ErrorDialog = false;

                process.StartInfo.CreateNoWindow = true;
                process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
....
                process.Start();

问题是,可执行文件有时会崩溃,这是可以的,但AppCrash拨号会弹出并阻止应用程序继续执行,直到我单击“关闭”为止。

我知道我可以将禁用的msdn.microsoft.com/en-us/library/bb513638%28v=vs.85%29.aspx值设置为true -msdn.microsoft.com/en-us/library/bb513638%28v=vs.85%29.aspx。

,但是有什么方法可以在代码中这样做吗?

编辑:

kmp已经发布了一个很好的答案,但我仍然在寻找如何在本机应用程序中实现同样的目标。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-24 05:53:29

如果您可以编辑崩溃过程的代码,那么您可以做的是添加代码,如下面所示(本文将讨论它:禁用程序崩溃对话框) -有关此Windows函数的信息,请参见SetErrorMode函数

如果您不能更改崩溃应用程序的代码,那么它会更复杂,并且您必须在运行时将代码注入其中(这取决于您正在启动的进程是什么编写的--例如,如果它是.NET进程,它比本地应用程序更容易,因此您需要提供有关该进程的更多信息)。

代码语言:javascript
复制
[Flags]
internal enum ErrorModes : uint 
{
    SYSTEM_DEFAULT = 0x0,
    SEM_FAILCRITICALERRORS = 0x0001,
    SEM_NOALIGNMENTFAULTEXCEPT = 0x0004,
    SEM_NOGPFAULTERRORBOX = 0x0002,
    SEM_NOOPENFILEERRORBOX = 0x8000
}

internal static class NativeMethods
{
    [DllImport("kernel32.dll")]
    internal static extern ErrorModes SetErrorMode(ErrorModes mode);
}

// Ideally the first line of the main function...

NativeMethods.SetErrorMode(NativeMethods.SetErrorMode(0) | 
                           ErrorModes.SEM_NOGPFAULTERRORBOX | 
                           ErrorModes.SEM_FAILCRITICALERRORS | 
                           ErrorModes.SEM_NOOPENFILEERRORBOX);
票数 24
EN

Stack Overflow用户

发布于 2012-10-16 13:46:37

根据本文件,应该可以将SetErrorMode值继承到子进程。因此,任何类型的启动程序(或您的主要应用程序),如果将SetErrorMode设置为所需的值,然后执行您的本地应用程序,应该可以工作。实际上,这种继承在默认情况下是存在的。若要关闭它,请参阅标志这里

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12102982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档