Реализуйте NewWindow2
или NewWindow3
и установите ppDisp
на новый экземпляр IWebBrowser2
.
Чтобы убедиться, что этот новый экземпляр не видениспользуйте put_Visible или вызовите ShowWindow(SW_HIDE)
для контейнера элемента управления.
Вы также можете установить *Cancel = VARIANT_TRUE
для полного отключения всплывающего окна.
Реализация NewWindow3
даст вам целевой URL.
STDMETHODIMP CMyBrowser::OnNewWindow3(IDispatch **ppDisp,
VARIANT_BOOL *Cancel,
DWORD dwFlags,
BSTR bstrUrlContext,
BSTR bstrUrl)
{
// spWebBrowser = create a newly instance of IWebBrowser2
ppDisp = (IDispatch*)spWebBrowser;
return S_OK;
}