使用 Process.Start() 方法启动应用程序后的通知

本文关键字:应用程序 通知 启动 方法 Process Start 使用 | 更新日期: 2023-09-27 18:37:23

我有一段代码,基本上是使用Process.Start()方法调用应用程序。

ProcessStartInfo psi = new ProcessStartInfo(strAppPath);
psi.WindowStyle = ProcessWindowStyle.Maximized | ProcessWindowStyle.Normal;
//Starts the xyz application process.
Process xyzProcess = Process.Start(psi);
xyzProcess.WaitForInputIdle();

尽管该过程在几秒钟内启动,但应用程序可能需要一些时间才能完全初始化。 即我的应用程序xyz可能需要 5 - 10 秒,具体取决于它运行的机器(即在速度较快的 PC 上不到 5 秒,在速度较慢的 PC 上不到>10 秒)

我的问题:有没有办法跟踪这个?通过轮询一些属性,除了等待一段时间使用Thread.Sleep(ms).

我徒劳地尝试使用以下应用程序

  1. 投票xyzProcess.Responding财产与一个小thread.sleep

  2. 轮询的肮脏方法xyzProcess.MainWindowTitle直到它返回一些非空值。

  3. xyzProcess.WaitForInputIdle(sleeptime) ;

请帮忙

谢谢

使用 Process.Start() 方法启动应用程序后的通知

您只是在等待应用程序初始化,还是只是等待应用程序执行某些操作?

如果只是应用程序需要"做某事",那么您可以不等待退出吗?

xyzProcess.WaitForExit();