我需要一个使用C#作为后端通过WPF启动的进程。该过程正常启动,但在此过程中存在一些错误。换句话说,我可以说这个过程没有正确开始。那么如何才能在我的代码隐藏中获取这些信息呢?
例如:
p.StartInfo.FileName = BasePath;
p.StartInfo.Arguments = args;
p.Start();
但是在执行此文件后,我收到一些错误,其中缺少某些相关的DLL。我知道原因,但如果我必须检测到这个错误,我怎么能在我的代码隐藏中得到它?
答案 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));
}