【问题标题】:C# WebBrowser Control Enhanced Protected ModeC# WebBrowser 控件增强保护模式
【发布时间】:2018-12-10 11:26:18
【问题描述】:

我正在尝试通过 WebBrowser 控件访问网页(不受我控制),即allscripts sandbox。我的计算机的 Internet Explorer 已为所述网页正确设置(已添加到受信任的站点、允许并安装所有 active-x 插件、在兼容模式下运行等)。

webbrowser 控件显示以下错误:

此网页想要运行与 Internet Explorer 的增强安全功能不兼容的“某些 ActiveX 控件”。如果您信任此站点,您可以禁用此站点的增强保护模式并允许控件运行。

我没有启用(据我所知)增强保护模式。

同时尝试忽略错误并继续登录会显示一条消息

Centricity 的基于 .NET 页面的容器无法初始化。确保您的 .NET 环境配置为授予此网站完全信任。

在我运行命令%WINDIR%\Microsoft.NET\Framework\v2.0.50727\caspol -q -m -cg Trusted_Zone FullTrust之前,以上也是默认IE的错误。

我尝试了各种注册表项,但似乎都不起作用。
我还尝试实现一个自定义 IInternetSecurityManager,它将所有 url 映射到受信任区域并在所有 ProcessUrlAction 调用上返回 URLPOLICY_ALLOW。

任何建议都将不胜感激。

【问题讨论】:

  • 单独使用ie11导航到页面时,正常吗?
  • 是的@Andy,它工作正常,我必须启用兼容模式,将其添加到受信任的站点并允许并下载所有必需的 activex 附加组件,但之后它就可以工作了。

标签: c# wpf internet-explorer webbrowser-control activex


【解决方案1】:

问题可能是 webbrowser 默认使用旧版本的 IE。看看Use latest version of Internet Explorer in the webbrowser control

【讨论】:

  • 感谢您花时间回答。我通过设置注册表项尝试了所有版本的 IE。他们都没有工作。此外,该站点被设计为在与 IE7 的兼容模式下运行,因此我们在这方面做得很好。还有其他想法吗?
  • 也许不同的架构? 32 位与 64 位?
【解决方案2】:

webbrowser 控件是用 com 包装器包装的 ie11,该包装器将 ie11 节流回 ie7 模式。我可以想象没有太多其他事情会导致您的问题。

由于当您在外部运行 ie11 时此页面适用于您,因此最可能的解释似乎是您试图强制控件进入 ie11 模式是问题所在。 我建议你在这里试试 Mentor 的代码:

Set WPF webbrowser control to use IE10 mode

这会自动将正在运行的程序的名称添加到注册表中。

var pricipal = new System.Security.Principal.WindowsPrincipal(
 System.Security.Principal.WindowsIdentity.GetCurrent());
 if(pricipal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)) {
    RegistryKey registrybrowser = Registry.LocalMachine.OpenSubKey
     (@"Software\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
string myProgramName = Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location);
var currentValue = registrybrowser.GetValue(myProgramName);
if (currentValue == null || (int)currentValue != 0x00002af9)
    registrybrowser.SetValue(myProgramName, 0x00002af9, RegistryValueKind.DWord);
}
else
this.Title += " ( Первый раз запускать с правами админа )";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 2011-08-04
    • 1970-01-01
    • 2013-08-31
    相关资源
    最近更新 更多