Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何获取进程是否已正确执行或在执行时出现错误?_C#_.net_C# 4.0_Process - Fatal编程技术网

C# 如何获取进程是否已正确执行或在执行时出现错误?

C# 如何获取进程是否已正确执行或在执行时出现错误?,c#,.net,c#-4.0,process,C#,.net,C# 4.0,Process,我有一个流程,我需要使用C#作为后端通过WPF开始。进程正在正确启动,但进程中存在一些错误。换言之,我可以说,这一进程没有正确启动。那么我怎样才能从我的代码中获得这些信息呢 例如: p.StartInfo.FileName = BasePath; p.StartInfo.Arguments = args; p.Start(); 但是在执行这个文件之后,我得到了一个错误,一些相关的DLL丢失了。我知道原因,但如果我必须检测到此错误,如何在代码隐藏中获取它?订阅进程。退出事件,然后检查进程。退出代

我有一个流程,我需要使用C#作为后端通过WPF开始。进程正在正确启动,但进程中存在一些错误。换言之,我可以说,这一进程没有正确启动。那么我怎样才能从我的代码中获得这些信息呢

例如:

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

但是在执行这个文件之后,我得到了一个错误,一些相关的DLL丢失了。我知道原因,但如果我必须检测到此错误,如何在代码隐藏中获取它?

订阅
进程。退出
事件,然后检查
进程。退出代码

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));
}

是的,这是正确的,但还有一件事,它显示了windows的默认错误过程入口点等。如果我想消除该错误并只显示我的错误框,该过程失败了,这是怎么可能的?这主要是您无法控制的,因为错误报告是操作系统的一部分。你可以试试看。