如何在NewWindow2事件中获取弹出URL?

时间:2019-06-17 22:26:40

标签: c# winforms webbrowser-control

我的Windows窗体应用程序中有一个Web浏览器。当弹出窗口即将打开时,我使用此代码在父Web浏览器中打开弹出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);
    }

我正在使用Microsoft Internet Controls COM参考(1.1)。在某些情况下,将触发NewWindow3事件,在其他情况下,将触发NewWindow2事件。 NewWindow3事件中的代码运行良好,但是NewWindow2事件中的代码不起作用。在此事件中,我不知道如何获取网址。我怎么能得到它?

谢谢。

0 个答案:

没有答案