我正在运行来自C#代码的exe文件,因为某些原因在该exe文件中发生错误。它一直在等待并最终发出弹出错误“abc.exe已停止工作”等等,但它没有退出。
//The below code is calling it successfully
public bool callExe(string exePath)
{
Log("EXE excution Started : " + exePath, INFO_TAG);
try
{
Process exeProcess = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = exePath;
exeProcess.StartInfo = startInfo;
startInfo.Arguments = this.prjId.ToString();
exeProcess.Start();
exeProcess.WaitForExit();
int exitCode = exeProcess.ExitCode;
return true;
}
catch (Exception e)
{
errorCode = EXE_ERROR;
return false;
}
}
虽然我可以捕获退出代码,但只有退出时我才能这样做。
答案 0 :(得分:0)
订阅ErrorDataReceived事件并获取错误消息。 enter link description here
您可以订阅Process Exit事件
,而不是等待它退出如果您的exe提供某种未处理的异常,您将无法获得确切的错误。 Windows事件查看器可以帮助您获取错误号和可能的原因。