Как остановить немедленный выход из последней версии 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 в различных комбинациях.

0 ответов

Другие вопросы по тегам