c# - 在 newwindow 事件中访问 newwindow

标签 c# internet-explorer-7 interop webbrowser-control new-window

我在应用程序中使用网络浏览器控件从特定网页获取数据。该网页不适用于旧版 IE,因为它专门检查 IE 版本。因此,我对注册表进行了更改,使我的应用程序能够像 IE 9 一样工作,并且大多数情况下一切正常...

问题是当必须打开一个新窗口时。它不会显示任何东西。我猜newwindow被认为是IE 7,我不知道如何让它伪装成IE9。

我也尝试过相反的方式。我认为如果我拦截了 newwindow url,那么我可以将其发送到 IE9 或在网络浏览器控件的另一个实例中打开它。但newwindow事件只允许取消事件。您无法从中获取任何有用的信息。

我相信互操作服务是我所需要的,但我对它们一无所知。

所以我有两个问题:
(1) 可以让newwindow识别为IE9吗? (以及如何...)
(2) 如何使用互操作服务(或任何我不关心的东西)获取 newwindow url?

最佳答案

很奇怪(从我的角度来看)WebBrowser 控件没有显示更有用的 NewWindow3 事件。

This CodeProject article describes a remarkably simple way to make it available.

关于c# - 在 newwindow 事件中访问 newwindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12121860/

相关文章:

c# - 无法在asp.net core 2.0 Web App中实现功能文件夹

c# - x64 上的文件时间

c# - 使用强类型 XSD 反序列化 XML 文档时出错

css - 为什么我的文本在 IE7 中被截断了?

html - 为什么我需要设置背景颜色?

javascript - IE7 Javascript 悬停无法正常工作

.net - 我们如何避免由 Marshal::StringToHGlobalAnsi 完成分配?

c# - 如何隐式转换这个?

c# - String.Format - 它是如何工作的以及如何实现自定义格式字符串

c# - WPF-WrapPanel 中的截止问题