小编Áro*_*ozs的帖子

WebBrowser控件将忽略HKCU注册表设置值

我已经实现了使用WebBrowser控件的应用程序。要应用该IE11模式,我的应用程序设置会设置HKLM注册表值:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"MyApp.exe"=dword:00002AF8
Run Code Online (Sandbox Code Playgroud)

这完美地工作,没有任何问题。

我的应用程序允许用户更改兼容性视图。当用户在我的应用程序的“选项”对话框中设置IE8兼容性时,它将设置以下HKCU注册表值,然后重新启动应用程序:

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"MyApp.exe"=dword:00001F40
Run Code Online (Sandbox Code Playgroud)

现在这是我的问题:HKEY_CURRENT_USER设置对于大多数用户正确地起作用,但是在某些用户中,WebBrowser控件只是忽略HKEY_CURRENT_USER配置单元中的所有设置,而仅采用HKLM(这意味着用户无法进行自定义) 。

有人知道是否有任何IE配置或Bug阻止HKCU配置单元中的设置吗?可以在多台计算机/用户上重现此问题,但不是全部。我尝试用Google搜索此类问题,但没有找到任何准确的解决方案。

注意:我的应用程序未使用IDocHostUIHandler2::GetOverrideKeyPath。环境:Windows 7,IE11 MyApp.exe是x86。

registry internet-explorer webbrowser-control

3
推荐指数
1
解决办法
3405
查看次数