Как я могу получить ссылку IWebBrowser2 на окно Internet Explorer, открытое, нажав на ссылку?
Предположим, я открываю новое окно Internet Explorer, например, щелкая ссылку с target="_blank" в ссылке HTML. Далее предположим, что я делаю это программно через COM. Я понимаю, что могу присоединиться к событию DWebBrowserEvents2::NewWindow3 и получить уведомление, когда откроется новое окно. Как мне получить ссылку на это недавно открытое окно, чтобы я тоже мог им манипулировать?
Что следует отметить:
- Я специально не хочу отменить событие NewWindow, создать экземпляр и вернуть новое пустое окно браузера в аргументе ppDisp, если я могу помочь.
- Я думал о поиске каждого окна IE (используя FindWindow или что-то подобное), спрашивая его местоположение и сравнивая его с аргументом bstrUrl, но я не думаю, что это сработает, если у цели есть перенаправление.
- Это для автоматизированной среды тестирования, поэтому я специально управляю Internet Explorer, а не размещаемым элементом управления WebBrowser.
- Я полностью знаю, что это не найдет окна, созданные showModalDialog().