C#制作一个Process.Start等待,直到进程启动?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

在继续使用方法之前,我需要确保一个进程正在运行。

声明是:

Process.Start("popup.exe");

你可以做一个WAIT命令或在这个值上设置一个延迟吗?

提问于
用户回答回答于
var process = Process.Start("popup.exe");
while(process.MainWindowTitle != "Title")
{
    Thread.Sleep(10);
}
用户回答回答于

等到它完成了然后使用Process.WaitForExit

var process = new Process {
    StartInfo = new ProcessStartInfo {
        FileName = "popup.exe"
    }
};
process.Start();
process.WaitForExit();

或者,如果它是一个带有UI的应用程序,并且你正在等待输入消息循环,则可以说:

process.Start();
process.WaitForInputIdle();

最后,如果这些都不适用,只Thread.Sleep需要一段合理的时间:

process.Start();
Thread.Sleep(1000); // sleep for one second

扫码关注云+社区

领取腾讯云代金券