Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我的 Windows 应用程序中,单击某些链接弹出窗口在 IE 中打开后,我有 WebBrowser 控件,我想访问该弹出窗口的 URL。
我尝试了浏览器控件的 NewWindow 事件,但它给了我父窗口的对象作为发送者和事件。
我读到了 COM 组件 Web 浏览器控件,它具有相同的 NewWindow 事件,它给了我弹出窗口的 URL。如何使用这个 COM 组件代替 .NET 控件?
我建议不要使用 COM 组件,它有一些缺点,例如内存管理、异常处理和 DLL Hell 问题。
要获取弹出窗口的 URL,您可以将 WebBrowser.ActiveXInstance 转换为 SHDocVx.WebBrowser 对象,然后处理其 NewWindow3 事件以检索弹出窗口的 URL。
算法.-
在页面加载时将 WebBrowser 转换为 SHDocVx.WebBrowser。取消 .NET 控件的 NewWindow 事件。并在 NewWindow3 事件中编写代码。