1

我在某处读到 MS Visual Studio 中的 webbrowser 控件使用与我电脑上安装的 IE 相同的引擎。尽管如此,我发现这是不正确的。为了证明我的假设,我使用了各种在线浏览器检测站点。我在这里展示结果:(1)我的电脑上安装的 IE(64 位和 32 位):浏览器信息:. 浏览器:Microsoft Internet Explorer 浏览器版本:9.0 用户代理字符串:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)

(2) webbrowser control (C#): Browser Information: Browser: Microsoft Internet Explorer Browser Version: 7.0 User Agent String: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0 .50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;媒体中心 PC 6.0;.NET4.0C;.NET4.0E)

我开始搜索它,因为每当我尝试访问特定站点时,我都会遇到与 webbrowser 控件的兼容性问题(尽管有警告,但它工作正常)。我使用 gecko 12 来模拟 firefox,但网站检测到我没有使用 firefox,我再次收到警告消息......所以问题是:我怎样才能“作弊”并绕过检测,这样我就不会了每次点击后都没有收到警告信息?我正在寻找一种程序化的方式来做到这一点。

4

2 回答 2

1

似乎没有简单的方法可以通过编程来做到这一点。这一切都在注册表中。我不明白为什么......无论如何,答案就在这里。webbrowser 控件默认使用兼容模式。即使 IE 不会使用兼容模式,控件也会。

于 2012-06-03T09:48:30.243 回答
0

Webbrowser 控件使用机器上安装的 IE。默认情况下,它在 IE 7 兼容模式下运行。要设置您的兼容模式,您需要在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION 中列出您的应用程序以及所需的兼容模式。

于 2013-02-04T18:59:39.557 回答