我从当前的C#应用程序调用新进程(C#应用程序),我使用:
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.Arguments = "/c "+filePath;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();
我可以在任务管理器中看到新进程,但它会立即终止
我用代码解决了这个问题:
ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = Path.GetDirectoryName(filePath);
psi.FileName = filePath;
psi.ErrorDialog = true;
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.RedirectStandardError = true;
Process proc = Process.Start(psi);
发布于 2018-09-04 02:37:56
您还可以在System.Diagnostic.Process
中使用"cmd.exe“命令运行您的应用程序,方法是:
System.Diagnostic.Process.Start("cmd.exe /C "+filepath);
此命令将运行,并在运行您的程序后关闭cmd。如果你想等待结果(可能是错误),你可以使用:
System.Diagnostic.Process.Start("cmd.exe /K "+filepath);
https://stackoverflow.com/questions/52154551
复制相似问题