Я прочитал несколько тем о MainWindowHandle, но я не смог найти решение своей проблемы, я запускаю приложение с графическим интерфейсом и хочу получить MainWindowHandle через объект процесса, но значение дескриптора всегда равно нулю, если я не собираюсь подождите с thread.sleep (), пока графический интерфейс не загрузится. Я также пытался использовать WaitForInputIdle, но это вообще не помогло.
process.Start();
process.WaitForInputIdle(1000);
while (process.MainWindowHandle == IntPtr.Zero)
{
Thread.Sleep(100);
}
// do something with the handle
он никогда не уходит, если я заменяю waitforinputidle обычным thread.sleep, он получает дескриптор правильно.
Проще говоря: я хочу продолжить свой код, только если я получу дескриптор! = ноль, но я не хочу ждать статического времени для этого