【发布时间】:2011-03-21 17:37:24
【问题描述】:
我意识到这是一个早期版本并且不稳定。我不希望在任何其他项目中更换 IE9 的默认浏览器控件,但在这种情况下,我特别需要 IE9 来与其他版本进行比较。
我想让 .NET WebBrowser 控件使用 IE9,而不是机器上的默认 IE 版本。我完全控制了这台机器,因此破解系统文件或其他任何可能需要的东西都没有问题。
通常,这可以通过将更新安装到 IE 来实现,但在 IE9 的情况下,它会安装一个单独的应用程序,而不影响当前版本的 IE。这意味着 WebBrowser 控件继续使用当前版本(这是有道理的,并且是 MS 的明智之举,因为 IE9 仍在开发中)。但在我的(边缘)情况下,我需要 WebBrowser 控件才能使用 IE9。
是否可以在 .NET 表单应用程序中嵌入 IE9?
编辑
有了Hans Passant's help,我走得更远了。在 IE9 的 prog 文件目录中发生了一些非常有趣的事情。有一个名为“iepreview.exe.local”的目录,删除后会使 IE9 Preview 应用程序使用 IE8(通过 acid3 测试检查)。
不是我想要的,但我想知道这是否是我可以利用的某种重定向来满足我的需要。
编辑 2
我已经尝试将 .local hack 应用到我的 iexplore.exe 副本和我的 .NET 应用程序中,并且我注意到了另外一些有趣的事情 - 两个应用程序都开始使用 IE7 而不是 IE8(我的 IE 版本)或 IE9。
这可能是 iexplore 尝试使用 IE9 然后又退回到 IE7 吗?看起来很奇怪,它甚至可以使用 IE7,但这是它开始使用的用户代理字符串。
【问题讨论】:
标签: c# .net internet-explorer com