Как остановить немедленный выход из последней версии iexplore.exe при запуске с аргументом URL?
Я пытаюсь открыть окно IE, чтобы позволить пользователю пройти через веб-процесс OAUTH.
Мы должны быть в состоянии определить, закрыл ли пользователь окно, чтобы мы могли сказать ему, что в авторизации было отказано, и предложить ему попробовать еще раз.
Кроме того, если они завершают процесс авторизации (который мы можем обнаружить в нашем основном приложении WPF), мы хотим закрыть окно без взаимодействия с пользователем (т.е. подтверждения).
Для этого я запускаю процесс вручную следующим образом:
_authProcess = Process.Start($"{programFilePath}\\{_iExplorePath}", $"-noframemerging {AuthorizationUrl}");
_authProcess.EnableRaisingEvents = true;
_authProcess.Exited += AuthProcess_Exited;
Затем я могу обработать событие, чтобы обнаружить закрытие, и, если они завершили авторизацию, завершить процесс, чтобы автоматически закрыть окно браузера.
Иногда это работает безупречно в течение нескольких часов, с другими открытыми окнами IE или без них, однако в других случаях он открывает URL в третьем процессе, который невозможно отследить, и немедленно завершает _authProcess (код выхода 1).
Я использую -noframemerging, чтобы не использовать существующий экземпляр. Я также пробовал -nosessionmerging, -nomerge и -new в различных комбинациях.