【问题标题】:Handle new window event of webbrowser control处理 webbrowser 控件的新窗口事件
【发布时间】:2012-09-21 12:58:49
【问题描述】:

在我的 Windows 应用程序中,单击某些链接后,我拥有 WebBrowser 控件,弹出窗口在 IE 中打开,我想访问该弹出窗口的 URL。

我尝试了浏览器控件的 NewWindow 事件,但它给了我父窗口的对象作为发送者和事件。

我读到了 COM 组件 Web 浏览器控件,它具有相同的 NewWindow 事件,它给了我弹出窗口的 URL。如何使用这个 COM 组件代替 .NET 控件?

【问题讨论】:

    标签: c# windows


    【解决方案1】:

    我建议不要使用 COM 组件,它有一些缺点,例如内存管理、异常处理和 DLL Hell 问题。

    要获取弹出窗口的 URL,您可以将 WebBrowser.ActiveXInstance 转换为 SHDocVx.WebBrowser 对象,然后处理其 NewWindow3 事件以检索弹出窗口的 URL。

    算法。-

    在页面加载时将 WebBrowser 转换为 SHDocVx.WebBrowser。 取消 .NET 控件的 NewWindow 事件。 并在 NewWindow3 事件中编写代码。

    【讨论】:

      猜你喜欢
      • 2014-11-11
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 2019-04-03
      • 2014-05-17
      • 2011-02-03
      • 1970-01-01
      相关资源
      最近更新 更多