首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET WebBrowser控件可以使用IE9吗?

.NET WebBrowser控件可以使用IE9吗?
EN

Stack Overflow用户
提问于 2010-07-27 17:02:40
回答 3查看 7.7K关注 0票数 14

我意识到这是一个早期释放和不稳定。我不会梦想在任何其他项目中将默认的webbrowser控件替换为IE9,但在本例中,我特别需要IE9与其他版本进行比较。

我希望.NET WebBrowser控件在机器上使用IE9而不是默认版本的IE。我完全控制这台机器,所以黑掉系统文件或其他可能需要的东西是没有问题的。

通常情况下,这可以通过安装IE更新来实现,但在IE9的情况下,它会安装一个单独的应用程序,使当前版本的IE保持不变。这意味着WebBrowser控件继续使用当前版本(这很有意义,而且是MS的一个明智举动,因为IE9仍在开发中)。但是在我的(edge)情况下,我需要WebBrowser控件来使用IE9。

是否可以将IE9嵌入到.NET窗体应用程序中?

编辑

有了Hans Passant's help,我要走得更远一些。在IE9的prog文件目录中正在发生一些非常有趣的事情。有一个名为"iepreview.exe.local“的目录,删除该目录后,IE9预览应用程序使用IE8 (用acid3测试检查)。

不完全是我想要的,但我想知道这是否是某种重定向,我可以利用我的需要。

编辑2

我尝试将.local攻击应用到我的iexplore.exe和.NET应用程序中,我注意到了一些有趣的东西--这两个应用程序都开始使用IE7,而不是IE8 (我的IE版本)或IE9。

这可能是iexplore试图使用IE9,然后又回到IE7上吗?看起来很奇怪,它甚至可以使用IE7,但这是它开始使用的useragent字符串。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-27 17:48:53

IE9可以并行安装的唯一方法是当它为接口和coclasses使用新的GUID时。这意味着您不能使用WebBrowser,它具有硬编码的GUID。

还有一个选项,使用AxHost包装器。右键单击工具箱,选择项,选择COM组件选项卡,并在列表中找到IE9。不知道它会叫什么,原来的名字是"Microsoft“,由c:\windows\system32\ieframe.dll提供服务

您必须不使用友好的WebBrowser和HtmlDocument包装器类。

票数 3
EN

Stack Overflow用户

发布于 2011-07-21 01:09:54

实际上,您可以修改注册表以强制程序使用IE9呈现。转到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION,添加一个新的DWORD值,名为您的程序名(带有.exe),并将十进制值设置为9999。

您还可以修改注册表以强制程序使用IE9 GPU呈现。转到Explorer\Main\FeatureControl\FEATURE_GPU_RENDERING,并添加一个名为HKEY_CURRENT_USER\Software\Microsoft\Internet的新的DWORD值(带有.exe),并将十六进制值设置为1。

这只有当你真的有IE9的时候才能工作!您必须先下载IE9,否则将无法运行。如果您想用IE8呈现页面,只需将9999更改为8888即可。

注释: GPU呈现仅在IE9中可用

票数 12
EN

Stack Overflow用户

发布于 2013-02-18 00:40:36

经过大量的Google-ing之后,我发现对于32位和64位应用程序,FEATURE_BROWSER_EMULATION有两组不同的密钥。根据您正在运行的机器,您需要将您的位置设置在正确的位置。此外,您还需要确保安装要模拟的浏览器的正确版本。

32位:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\**FEATURE_BROWSER_EMULATION**

Value Key: (DWORD) yourapplication.exe

64位:

代码语言:javascript
复制
HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\Microsoft\Internet Explorer\MAIN\FeatureControl\**FEATURE_BROWSER_EMULATION**

Value Key: (DWORD) yourapplication.exe 

将此键设置为is的值(取自这里的MSDN )为十进制值:

9999 (0x270F) Internet 9.网页显示在IE9标准模式下,而不考虑IE9指令。

9000 (0x2328) Internet 9.包含基于标准的IE9指令的网页以IE9模式显示.

8888 (0x22B8)网页显示在IE8标准模式下,而不考虑IE8指令。

8000 (0x1F40)包含基于标准的指令的网页以IE8模式显示。

7000 (0x1B58)包含基于标准的指令的网页显示在IE7标准模式中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3346007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档