我意识到这是一个早期版本并且不稳定。我不会梦想在任何其他项目中将默认的 Web 浏览器控件替换为 IE9,但在这种情况下,我特别需要 IE9 与其他版本进行比较。
我想让 .NET WebBrowser 控件使用 IE9 而不是机器上默认版本的 IE。我对机器有完全的控制权,所以破解系统文件或其他任何可能需要的东西都是没有问题的。
通常,这可以通过安装 IE 的更新来实现,但在 IE9 的情况下,它会安装一个单独的应用程序,使当前版本的 IE 保持不变。这意味着 WebBrowser 控件继续使用当前版本(这是有道理的,也是 MS 的明智之举,因为 IE9 仍在开发中)。但在我的(边缘)情况下,我需要 WebBrowser 控件才能使用 IE9。
是否可以将 IE9 嵌入到 .NET 表单应用程序中?
EDIT
With 汉斯·帕桑特的帮助 https://stackoverflow.com/questions/3346007/is-it-possible-for-the-net-webbrowser-control-to-use-ie9/3346368#3346368我有点进一步了。 IE9 的 prog 文件目录中发生了一些非常有趣的事情。有一个名为“iepreview.exe.local”的目录,删除该目录后,会使 IE9 Preview 应用程序使用 IE8(使用 Acid3 测试对其进行检查)。
不完全是我想要的,但我想知道这是否是我可以利用的某种重定向来满足我的需求。
EDIT 2
我尝试将 .local hack 应用于我的 iexplore.exe 副本和 .NET 应用程序,并且我注意到了其他有趣的事情 - 两个应用程序都开始使用IE7而不是 IE8(我的 IE 版本)或 IE9。
这可能是 iexplore 尝试使用 IE9 然后又回到 IE7 吗?看起来很奇怪,它甚至可以使用 IE7,但这就是它开始使用的 useragent 字符串。
实际上,您可以修改注册表来强制您的程序使用 IE9 渲染。转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION 并添加一个名为您的程序名称(带有 .exe)的新 DWORD 值和一个decimal值设置为 9999。
您还可以修改注册表以强制程序使用 IE9 GPU 渲染。转到 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_GPU_RENDERING 并添加一个名为您的程序名称(带有 .exe)的新 DWORD 值和一个十六进制值设置为 1。
这仅适用于您确实有 IE9 的情况!在执行此操作之前,您必须先下载 IE9,否则不管用。
如果您想使用 IE8 渲染页面,只需将 9999 更改为 8888。
Note:GPU渲染仅在IE9中可用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)