我有一个WinForms应用程序启动运行使用的wpf进程Process.Start.我想知道WPF进程何时完成加载,我可以访问该process.MainWindowHandle属性(在完全加载之前它的0).
我尝试了轮询,但句柄始终为0.但是,如果我调试并等待(之后Process.Start)加载WPF应用程序 - 我将获得正确的句柄.
不起作用:
int maxCount=100000;
int count=0;
do
{
wpfProcess.WaitForInputIdle();
_hWnd = net4ReconProcess.MainWindowHandle;
count++;
} while (_hWnd.ToInt32() == 0 || count > maxCount);
Run Code Online (Sandbox Code Playgroud)