我在WindowsForm(c#.net 3.5)中,单击按钮后,使用Process.Start()启动另一个外部应用程序(也是.net 3.5),并在启动后了解何时可用。
ProcessStartInfo psInfo = new ProcessStartInfo(@"MyApplication.exe");
psInfo.RedirectStandardOutput = true;
psInfo.RedirectStandardError = true;
psInfo.UseShellExecute = false;
psInfo.CreateNoWindow = true;
Process proc = Process.Start(psInfo);
proc... IsFullyLoaded()?
我该怎么做?
最佳答案
要等待该过程创建其表单,请调用WaitForInputIdle
方法。
要确定它是否准备就绪,请尝试以下操作:
bool isReady = proc.WaitForInputIdle(0);
或者,
bool isReady = (proc.MainWindowHandle != IntPtr.Zero);
您还可以使用MainWindowHandle属性使用
SendMessage
API函数将消息发送到表单关于c# - 如何知道Process.Start何时加载Winform?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1177956/