如何在执行过程中确定进程是否已正确执行或出现错误?

时间:2011-06-24 21:16:31

标签: c# .net c#-4.0 process

我需要一个使用C#作为后端通过WPF启动的进程。该过程正常启动,但在此过程中存在一些错误。换句话说,我可以说这个过程没有正确开始。那么如何才能在我的代码隐藏中获取这些信息呢?

例如:

p.StartInfo.FileName = BasePath;
p.StartInfo.Arguments = args;
p.Start();

但是在执行此文件后,我收到一些错误,其中缺少某些相关的DLL。我知道原因,但如果我必须检测到这个错误,我怎么能在我的代码隐藏中得到它?

1 个答案:

答案 0 :(得分:5)

订阅Process.Exited事件,然后检查Process.ExitCode

public void StartProcess()
{
    p.StartInfo.FileName = BasePath;
    p.StartInfo.Arguments = args;
    p.Start();
    p.Exited += new EventHandler(Process_Exited);
}

void Process_Exited(object sender, EventArgs e)
{
    var p = sender as Process;
    if (p.ExitCode != 0)
        MessageBox.Show(string.Format("Process failed: ExitCode = {0}", p.ExitCode));
}