等待应用 window 加载

Wait for application window loading

您好,我正在处理某些应用程序(如 obs)的自动化。我想做的是启动 obs 并等待它加载 window 有没有办法检查 window 是否已显示?

尝试过,但该过程立即启动,如果应用程序已显示其 window

,则不会考虑
Process[] obs = Process.GetProcessesByName("obs64");
while (obs.Count() == 0 && firefox.Count() == 0){
    Thread.Sleep(1000);
    obs = Process.GetProcessesByName("obs64");
}

找到了使用 MainWindowHandle 的方法


Process obsProcess = Process.Start("C:\Program Files (x86)\obs-studio\bin\64bit\OBS.exe");
while (obsProcess.MainWindowHandle == IntPtr.Zero) Thread.Sleep(1000);