6

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

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

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

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

4

1 回答 1

7

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

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

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

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

于 2010-04-05T08:59:47.857 回答