2

有谁知道为什么我在尝试从另一个控制台应用程序启动一个控制台应用程序时会收到此错误(不是每次但有时)。错误:

System.ComponentModel.Win32Exception (0x80004005): System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo) 在 System.Diagnostics.Process.Start() 的未知错误 (0xffffffffe)

这是我的代码:

System.Diagnostics.Process myProc = new System.Diagnostics.Process();
try
{
    myProc.StartInfo.FileName = @"C:\MyFolder\MyExecutableApplication.exe";
    myProc.Start();
    myProc.WaitForExit();
    procesResult = myProc.ExitCode;
}
catch (Exception ex)
{
    cLog.WriteLog("problem", ex.ToString(), myConfig.LogPath);
}
finally
{
    if (myProc != null)
    {
        myProc.Close();
    }
}

谢谢

4

3 回答 3

4

估计是权限问题。尝试这个

myProc.StartInfo.UseShellExecute = false;
myProc.StartInfo.RedirectStandardOutput = true;
myProc.StartInfo.RedirectStandardError = true;

来自此评论的参考

于 2012-05-04T07:30:35.483 回答
0

这似乎是一个权限提升问题(虽然我不知道您有时会收到错误的原因);尝试添加;

myProc.StartInfo.Verb = "runas";
于 2012-05-04T07:00:41.823 回答
0

我面临同样的问题。尝试关闭UAC并向windows defender(或其他安全工具)添加异常

于 2017-05-23T10:28:28.643 回答