Я пытаюсь открыть простой .net exe/notepad.exe, используя process.start в скрытом режиме. и мне нужно обработать процесс позже, чтобы сделать application.exe, чтобы сделать его видимым через некоторое время.System.Diagnostics.Process.Start с WindowStyle.Hidden не обрабатывает перенастройку
Возможность получить обрабатывать только в WindowStyle.Minimized, WindowStyle.Maximized, WindowStyle.Normal. В скрытом стиле это всегда дает мне 0.
Как получить ручку без использования Thread.Sleep. Это требует от нас подождать несколько секунд, чтобы справиться. для некоторых exe требуется больше времени ожидания, исходя из его производительности (огромные данные).
public static void LaunchExe() { var proc = new Process { StartInfo = { FileName = "Notepad.exe", //or any simple .net exe WindowStyle = ProcessWindowStyle.Hidden } }; proc.Start(); proc.WaitForInputIdle(800); //is it possible to avoid this. Thread.Sleep(3000); //is it possible to avoid this. Console.WriteLine("handle {0}", proc.MainWindowHandle); //ShowWindowAsync(proc.MainWindowHandle, 1); //planned to use, to make it visible. }
Да, это поможет. Есть ли возможность получить доступ к скрытому процессу? – anand
@anand Отредактировал свой ответ. –
спасибо. Мое фактическое требование - открыть exe, разработанный разработчиком команды, получить дескриптор и показать exe внутри .net winform. минимизированный вариант не работает для этого exe. но он работает для winform.exe, блокнот. – anand