首页 文章

WebBrowser控件的安全级别

提问于
浏览
6

我正在尝试将 .hta 应用程序迁移到C#可执行文件 . 当然,因为它是 .hta ,所以代码都是 HTMLJscript ,并调用本地 ActiveX 对象 .

我创建了一个 C# 可执行项目,我只是使用 WebBrowser 控件来显示 HTML 内容 . 只需将 .hta 重命名为 .html 并取出HTA声明 .

一切都很好,除了当我调用 ActiveX 对象时,我得到一个安全弹出警告,在页面上运行 ActiveX 控件 .

我理解为什么会发生这种情况,因为WebBrowser控件本质上是IE并使用Internet选项安全设置,但有没有办法让WebBrowser控件绕过安全弹出窗口,或者将可执行文件或DLL注册为可信任的方法更改Internet选项中的设置?即使是在部署包上执行的方法也可以 .

1 回答

  • 7

    WebBrowser 是Internet Explorer的一个实例,并从IE继承安全设置 .

    一种方法是更改IE中定义的安全设置 .

    另一种方法是通过实现IInternetSecurityManager接口添加Custom Security Manager .

    WebBrowser控件或MSHTML主机可以创建一个安全管理器(通过实现IInternetSecurityManager接口)来处理对主机很重要的URL操作和策略 . 其他URL操作和策略将传递给默认安全管理器,以便它可以适当地处理它们 . IInternetSecurityMgrSite接口将用于处理组件中与Windows相关的信息,以便自定义安全管理器可以处理所需的任何用户界面 . -

相关问题