我想迁移的 .HTA 应用到C#可执行文件。当然,因为它是一个名.hta 的代码是所有的 HTML 的Jscript 后,通过调用本地的的ActiveX 对象

我创建一个的 C#可执行项目和只是用的 web浏览器控件来显示的 HTML 内容。简单地重新命名的 .HTA 以一个的 html的并拿出HTA声明。

一切都很正常,只是当我打电话到的ActiveX 的对象,我得到运行的的ActiveX 在页面上控制的安全弹出警告。

我明白为什么会这样,因为WebBrowser控件本质上是IE浏览器,并使用Internet选项的安全设置,但有什么办法让WebBrowser控件来绕过安全弹出窗口,或注册的可执行文件或DLL文件作为一种存在方式值得信赖的,而不必在Internet选项更改设置?即使是这样做的部署包将正常工作。

有帮助吗?

解决方案

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

的一种方法是改变在IE中定义的安全性设置。

另一种方法可能是添加定制安全通过实施 IInternetSecurityManager 界面管理器

  

WebBrowser控件或MSHTML主机可以创建一个安全管理器(通过实现IInternetSecurityManager接口)来处理的URL行动和对主机是重要的政策。其他网址的行动和政策将被传递给默认的安全管理器,因此它可以适当地处理它们。该IInternetSecurityMgrSite接口将被用于从组件处理Windows相关的信息,这样的接口它所需要的定制安全管理器可以处理任何用户。 -

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top