Nol*_*rin 384
我想你只想要这个:
Process.Start(...);
Process.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
有关该方法,请参阅MSDN页面.它也有一个过载,你可以指定超时,所以你不可能永远等待.
Jon*_*eet 133
用Process.WaitForExit
吗?Process.Exited
如果您不想阻止,请订阅该活动?如果这不符合您的要求,请向我们提供有关您的要求的更多信息.
Ant*_*ert 35
我在我的应用程序中执行以下操作:
Process process = new Process();
process.StartInfo.FileName = executable;
process.StartInfo.Arguments = arguments;
process.StartInfo.ErrorDialog = true;
process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
process.Start();
process.WaitForExit(1000 * 60 * 5); // Wait up to five minutes.
Run Code Online (Sandbox Code Playgroud)
有一些额外的功能,你可能会发现有用...
小智 16
您可以使用wait for exit或者您可以捕获HasExited属性并更新您的UI以保持用户"通知"(期望管理):
System.Diagnostics.Process process = System.Diagnostics.Process.Start("cmd.exe");
while (!process.HasExited)
{
//update UI
}
//done
Run Code Online (Sandbox Code Playgroud)
我有一个案例,Process.HasExited
在关闭属于该过程的窗口后没有改变.所以Process.WaitForExit()
也没用.Process.Responding
关闭窗口之后我必须监视那个变为错误:
while (!_process.HasExited && _process.Responding) {
Thread.Sleep(100);
}
...
Run Code Online (Sandbox Code Playgroud)
也许这有助于某人.
归档时间: |
|
查看次数: |
218491 次 |
最近记录: |