Как я могу получить ссылку IWebBrowser2 на окно Internet Explorer, открытое, нажав на ссылку?

Предположим, я открываю новое окно Internet Explorer, например, щелкая ссылку с target="_blank" в ссылке HTML. Далее предположим, что я делаю это программно через COM. Я понимаю, что могу присоединиться к событию DWebBrowserEvents2::NewWindow3 и получить уведомление, когда откроется новое окно. Как мне получить ссылку на это недавно открытое окно, чтобы я тоже мог им манипулировать?

Что следует отметить:

  • Я специально не хочу отменить событие NewWindow, создать экземпляр и вернуть новое пустое окно браузера в аргументе ppDisp, если я могу помочь.
  • Я думал о поиске каждого окна IE (используя FindWindow или что-то подобное), спрашивая его местоположение и сравнивая его с аргументом bstrUrl, но я не думаю, что это сработает, если у цели есть перенаправление.
  • Это для автоматизированной среды тестирования, поэтому я специально управляю Internet Explorer, а не размещаемым элементом управления WebBrowser.
  • Я полностью знаю, что это не найдет окна, созданные showModalDialog().

0 ответов

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