从Process.Start()开始后等待WPF应用程序加载

The*_*ean 2 wpf process

我有一个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)

小智 5

添加process.Refresh();到while循环.