我正在尝试编写一个VB.net应用程序,该应用程序将允许用户使用html / jscript创建自己的窗口小部件插件,我想在应用程序设置中设置自己的安全性选项,以允许用户选择可以运行或不运行的内容,例如脚本,Flash,ActiveX。
我想允许在没有WebBrowser控件中的Windows安全对话框(ActiveX控件正在尝试与页面进行交互...)或上面所说的内容的情况下使用Activex控件。
我开始自定义WB控件以适应实现各种接口(如IOleClientSite,IDocHostShowUI,IDocHostUIHandler等)的需要,
我似乎找不到任何可以控制WB控件安全权限的内容。我试图实现IHttpSecurity和IInternetSecurityManager,但是我要么树错了树,要么做的不正确。
Public WithEvents Security as WebBrowserSecurityAlerts
Public Sub Security_Show(sender as object, e as WebBrowserSecurityAlertsEventArgs) Handles Security.Show
MSGBOX (e.Info.Encryption & vbnewline & e.Info.Identity)
End Sub
WebBrowser中的句柄
除了在IE本身中编辑安全性选项外,没有其他方法可以更改安全性选项。您很可能也可以在注册表中更改设置,但是这些设置对于所有IE实例都是全局的。如果您在代码中进行了更改,那么也会对所有浏览器实例进行更改。
在我之前写的一个自动化应用程序中,我通过监视窗口弹出窗口,抓住窗口句柄并向该窗口中的按钮发送单击来处理弹出窗口。当然不是一个优雅的解决方案:(