gpt4 book ai didi

winforms - 如何在 WinForms 应用程序中关闭 IE WebBrowserControl 上的兼容性 View ?

转载 作者:行者123 更新时间:2023-12-02 14:40:12 26 4
gpt4 key购买 nike

在我的 WinForms 应用程序中,如果我使用 WebBrowser 控件,它似乎会被强制进入兼容模式。如何禁用此功能,并使其在浏览同一网站时与我的计算机上的独立 IE 的行为相同?

  • 我不想更改注册表。我希望所有内容都包含在我的应用程序中。
  • 我正在加载的网站不是我的,因此我无法对其进行更改(除非可以在我的应用内以编程方式完成这些更改)。

最佳答案

除了配置以下注册表设置之外,没有其他方法可以做到这一点:

HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

或者如果它是 64 位 Windows 上的 32 位应用程序:

HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION`

这些设置未显示在 WebBrowser 中控制。

更多信息请参见:

What IE compatibility mode does the webbrowser control use?

如果链接失效:

您创建一个DWORD与可执行文件名称匹配的值,并将该值设置为以下之一:

7000: Pages containing standards-based <!DOCTYPE> directives are displayed in IE7 mode.
8000: Pages containing standards-based <!DOCTYPE> directives are displayed in IE8 mode
8888: Pages are always displayed in IE8 mode, regardless of the <!DOCTYPE> directive. (This bypasses the exceptions listed earlier.)
9000: Use IE9 settings!
9999: Force IE9

例如:

enter image description here

来 self 自己对 IE9 的实验:

  • 9000 - 继承 IE9 的全局兼容模式设置中设置的兼容模式。 IE。: enter image description here

  • 9999 - 强制 IE9 在主机应用程序中退出兼容模式,无论全局配置的兼容模式设置如何

您的应用程序可能需要检测哪个底层 IE 版本可用,以确定要使用哪个值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version

或者如果它是 64 位 Windows 上的 32 位应用程序:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Version

还有一篇 IE8 发布时的旧文章值得一看:

More IE8 Extensibility Improvements

您还可以在以下位置为每个用户配置这些设置:

HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

关于winforms - 如何在 WinForms 应用程序中关闭 IE WebBrowserControl 上的兼容性 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717055/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com