首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C# -当我调用System.Diagnostics.Process.Start时,新的进程自动将被终止

C# -当我调用System.Diagnostics.Process.Start时,新的进程自动将被终止
EN

Stack Overflow用户
提问于 2018-09-04 02:10:12
回答 1查看 50关注 0票数 -1

我从当前的C#应用程序调用新进程(C#应用程序),我使用:

代码语言:javascript
复制
Process proc = new Process();
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.Arguments = "/c "+filePath;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.Start();
proc.WaitForExit();

我可以在任务管理器中看到新进程,但它会立即终止

我用代码解决了这个问题:

代码语言:javascript
复制
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);
EN

回答 1

Stack Overflow用户

发布于 2018-09-04 02:37:56

您还可以在System.Diagnostic.Process中使用"cmd.exe“命令运行您的应用程序,方法是:

代码语言:javascript
复制
 System.Diagnostic.Process.Start("cmd.exe /C "+filepath);

此命令将运行,并在运行您的程序后关闭cmd。如果你想等待结果(可能是错误),你可以使用:

代码语言:javascript
复制
 System.Diagnostic.Process.Start("cmd.exe /K "+filepath);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52154551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档