我有一个代码片段,它基本上使用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)等待某个时间之外,还可以轮询一些属性。
我试图使用以下方法,但没有成功。
使用一个小的value.
xyzProcess.WaitForInputIdle(sleeptime);
xyzProcess.Responding属性,直到返回一些非空的xyzProcess.MainWindowTitle为止。请帮帮忙
谢谢
发布于 2012-07-07 09:14:45
您只是在等待应用程序初始化,还是在等待应用程序执行某些操作?
如果只是应用程序需要“做些什么”,那么您就不能等待退出吗?
xyzProcess.WaitForExit();https://stackoverflow.com/questions/11050742
复制相似问题