У меня есть этот код:
Process internetExplorerProcess = Process.Start("iexplore", "-noframemerging about:blank");
internetExplorerProcess.EnableRaisingEvents = true;
internetExplorerProcess.Exited += OnInternetExplorerProcessExited;
в этом случае завершенное событие выполняется немедленно.
Если мы изменим первую строку, чтобы открыть сеть вместо пустой страницы:
Process internetExplorerProcess = Process.Start("iexplore", "-noframemerging www.stackoverflow.com");
на некоторых машинах завершенное событие запускается не сразу, это может занять до двадцати секунд.
Дополнительная информация:
Если во время задержки мы откроем диспетчер задач и принудительно завершим iexplore, произойдет событие, похоже, что какой-то внешний процесс блокирует закрытие iexplore.
Мы проверили машину с помощью средств защиты от вредоносных программ, и все в порядке.