Exited событие Process fire с задержкой

У меня есть этот код:

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.

Мы проверили машину с помощью средств защиты от вредоносных программ, и все в порядке.


person Javi Quirós    schedule 05.03.2018    source источник
comment
Если я правильно понимаю, код работает правильно, это iexplore.exe, который не завершается должным образом. Вы сказали, что если принудительно убить iexplore.exe, событие сработает. Это не проблема кодирования, это проблема Internet Explorer. Многие вещи могут вступить в игру, и ваш лучший выбор — хороший системный администратор, который поможет вам устранить проблему. Как есть, вопрос не по теме с точки зрения ТАК!   -  person Alexandru Clonțea    schedule 05.03.2018
comment
Это не проблема C#, посмотрите эту статью, надеюсь, она поможет вам: answers.microsoft.com/en-us/ie/forum/ie9-windows_vista/   -  person Anton Komyshan    schedule 05.03.2018


Ответы (1)


Проделал действия указанные в посте, которые указал Антон Комышан и не решил проблему, но он помог мне найти проблему, спасибо.

Наконец, после перенастройки iexplore, удаления плагинов и конфигурации по умолчанию, проблема была решена.

person Javi Quirós    schedule 06.03.2018