有没有办法确定我的程序启动的进程已崩溃?目前,我发现的解决方案是查看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上工作
没有.
除非你能以某种方式影响进程(将错误写入Eventlog?文件),否则就我所知,你没有外部方法知道进程崩溃了.对你而言,这只是一个消失的过程.甚至Windows都不会将这些信息保存在我所知道的任何地方.它不再存在,除非过程以某种方式保留细节,否则它们就消失了.
| 归档时间: |
|
| 查看次数: |
9357 次 |
| 最近记录: |