相关疑难解决方法(0)

如何处理通过System.Diagnostics.Process启动的进程中的崩溃?

我正在使用System.Diagnostics.Process启动外部进程.这是批处理作业的一部分,所以如果一个进程崩溃,我想处理它,让其余进程继续.

目前正在发生的事情是Windows弹出一个对话框,告诉我该程序已经崩溃,只有在我解雇后才会手动退出该进程.

根据这个问题,Process.Responding属性仅适用于具有UI的程序(我正在启动的进程是一个控制台应用程序).

我还查看了进程提供的各种事件,但没有一个事件在崩溃时被触发.

有任何想法吗?

.net crash process

14
推荐指数
1
解决办法
5116
查看次数

检测.NET中的进程崩溃

有没有办法确定我的程序启动的进程已崩溃?目前,我发现的解决方案是查看Process.ExitCode和检查值:

        this.STProcess = Process.Start(this.CreateProcessStartInfo());
        this.STProcess.WaitForExit();
        if (STProcess.ExitCode != 0)
        {
            //raise error event...
        }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更优雅(和准确)的方式来做到这一点?

我更喜欢C#中的答案,并且使用P/Invoke也很好.

PS - 我需要在Windows XP/Vista/7上工作

c# windows

6
推荐指数
1
解决办法
9357
查看次数

标签 统计

.net ×1

c# ×1

crash ×1

process ×1

windows ×1