Как получить всплывающий URL в событии NewWindow2? - PullRequest
0 голосов
/ 18 июня 2019

В моем приложении Windows Forms есть веб-браузер.Когда откроется всплывающее окно, я использую этот код, чтобы открыть URL-адрес всплывающего окна в родительском веб-браузере.

    private SHDocVw.WebBrowser nativeBrowser;
    //wb is the web browser control in the designer

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        nativeBrowser = (SHDocVw.WebBrowser)wb.ActiveXInstance;
        nativeBrowser.NewWindow2 += nativeBrowser_NewWindow2;
        nativeBrowser.NewWindow3 += nativeBrowser_NewWindow3;
    }

    private void nativeBrowser_NewWindow2(ref object ppDisp, ref bool Cancel)
    {
        ppDisp = wb.ActiveXInstance;
    }

    private void nativeBrowser_NewWindow3(ref object ppDisp, ref bool Cancel, uint dwFlags, string bstrUrlContext, string bstrUrl)
    {
        Cancel = true;
        wb.Navigate(bstrUrl);
    }

Я использую ссылку COM для Microsoft Internet Controls (1.1).В некоторых случаях вызывается событие NewWindow3, а в других - событие NewWindow2.Код в событии NewWindow3 работает хорошо, однако код в событии NewWindow2 не работает.Я не знаю, как получить URL в этом случае.Как я могу получить это?

Заранее спасибо.

...