当前位置: 首页 > 编程语言 > C#

C#学习教程:.NETWebBrowser控件可以用IE9吗?分享

时间:2023-04-11 02:09:03 C#

.NETWebBrowser控件可以用IE9吗?我意识到这是一个早期版本并且不稳定。我不会梦想在任何其他项目中换掉IE9的默认webbrowser控件,但在这种情况下,我特别需要IE9与其他版本进行比较。我希望.NETWebBrowser控件使用IE9而不是机器上的默认IE版本。我可以完全控制机器,所以我可以毫无问题地破解系统文件或任何我可能需要的东西。通常,这将通过安装IE更新来完成,但对于IE9,它会安装一个单独的应用程序,使当前版本的IE保持不变。这意味着WebBrowser控件继续使用当前版本(这是有道理的,也是MS的明智之举,因为IE9仍在开发中)。但在我的(边缘)案例中,我需要WebBrowser控件才能使用IE9。是否可以将IE9嵌入到.NET表单应用程序中?编辑在HansPassant的帮助下,我得到了更多。IE9prog文件目录中发生了一些非常有趣的事情。有一个名为“iepreview.exe.local”的目录,删除后会导致IE9预览应用程序使用IE8(通过acid3测试检查)。不是我要找的,但我想知道这是否是我可以为我的需要做的某种重定向。编辑2我已经尝试将.localhack应用于我的iexplore.exe副本和我的.NET应用程序,并且我注意到其他一些有趣的事情-这两个应用程序开始使用IE7而不是IE8(我的IE版本)或IE9。这可能是iexplore尝试使用IE9然后退回到IE7吗?它甚至可以与IE7一起使用似乎很奇怪,但这是它开始使用的用户代理字符串。可以并排安装IE9的唯一方法是它对接口和组件类使用新的GUID。这意味着您不能使用具有硬编码GUID的WebBrowser。还有另一种选择,使用AxHost包装器。右击工具箱,选择项目,选择COM组件选项卡,在列表中找到IE9。不确定它叫什么,旧名称是“MicrosoftWeb浏览器”,由c:\windows\system32\ieframe.dll提供服务,您必须在没有友好的WebBrowser和HtmlDocument包装类的情况下执行此操作。您实际上可以修改注册表以强制程序使用IE9呈现。转到HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternetExplorerMAINFeatureControlFEATURE_BROWSER_EMULATION并添加一个名为ProgramName(with.exe)的新DWORD值并将十进制值设置为9999。您还可以修改注册表以强制程序使用IE9GPU渲染。转到HKEY_CURRENT_USERSoftwareMicrosoftInternetExplorerMainFeatureControlFEATURE_GPU_RENDERING并添加一个新的DWORD值,称为ProgramName(带有.exe)并将十六进制值设置为1。这仅在您实际拥有IE9时有效!在执行此操作之前,您必须先下载IE9,否则将无法运行。如果你想使用IE8渲染页面,只需将9999更改为8888。注意:GPU渲染仅适用于IE9经过大量谷歌搜索,我发现FEATURE_BROWSER_EMULATION有两组不同的键,用于32位和64位应用程序。您需要根据您正在运行的机器将您的设置放在正确的位置。此外,您需要确保安装了要模拟的浏览器的正确版本。32位:HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternetExplorerMAINFeatureControl**FEATURE_BROWSER_EMULATION**值密钥:(DWORD)yourapplication.exe64位:HKEY_LOCAL_MACHINESOFTWARE**Wow6432Node**MicrosoftInternetExplorerMAINFeatureControl**FEATURE_BROWSER_EMULATION**将此DN设置为youappexecnKeyExe的ValueDWORD)asdecimal:9999(0x270F)InternetExplorer9.网页以IE9标准模式显示,带有!DOCTYPE指令无关紧要。9000(0x2328)InternetExplorer9。包含基于标准的网页!DOCTYPE指令在IE9模式下显示。8888(0x22B8)网页以IE8标准模式显示,带有!DOCTYPE指令无关紧要。8000(0x1F40)包含基于标准的网页!DOCTYPE指令在IE8模式下显示。7000(0x1B58)包含基于标准的网页!DOCTYPE指令在IE7标准模式下显示。以上是C#学习教程:.NETWebBrowser控件可以用IE9吗?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: