0

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

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

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

4

1 回答 1

0

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

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

算法.-

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

于 2012-09-24T04:35:18.717 回答