【问题标题】:How can I start a new Process and wait until it finishes?如何启动一个新进程并等到它完成?
【发布时间】:2013-01-19 11:38:25
【问题描述】:

我想用 C# 启动一个程序(可以使用Process.Start())。然后我的程序应该等到启动的程序关闭,然后再继续。
我该怎么做?

【问题讨论】:

    标签: c# process.start


    【解决方案1】:

    拨打Start()后添加:Process.WaitForExit()

     var myProcess = new Process {StartInfo = new ProcessStartInfo(processPath)};
     myProcess.Start().WaitForExit();
    

    【讨论】:

    • 您不能像使用静态 Start 方法那样将任何参数传递给构造函数,但是您可以使用 StartInfo 属性来提供它们,例如var p = new Process { StartInfo = { FileName = @"cmd.exe", Arguments = ... UseShellExecute = false }, }; p.Start(); p.WaitForExit(); p.Close();
    【解决方案2】:

    有两种机制。您可以挂钩 Process.Exited 事件,或者您可能真正想要的是调用 Process.WaitForExit()。

    http://msdn.microsoft.com/en-us/library/system.diagnostics.process.exited.aspx

    http://msdn.microsoft.com/en-us/library/system.diagnostics.process.waitforexit.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      相关资源
      最近更新 更多