WebBrowser控件的安全级别

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

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

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

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

WebBrowser是Internet Explorer的一个实例,并从IEinheritance安全设置。

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

另一种方法是通过实现IInternetSecurityManager接口来添加自定义安全管理器 。

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