0

我正在尝试编写一个 VB.net 应用程序,它允许用户在 html/jscript 中创建自己的小部件插件,我想在应用程序设置中设置我自己的安全选项,允许用户选择可以运行或不运行的脚本,闪存,activex。

我想允许在没有 WebBrowser 控件中的 windows 安全对话框的情况下使用 activex 控件(ActiveX 控件正在尝试与页面交互......)或它所说的任何内容。

我开始自定义 WB Control 以满足我实现各种接口(如 IOleClientSite、IDocHostShowUI、IDocHostUIHandler 等)的需求......

我似乎找不到任何可以让我控制 WB Control 的安全权限的东西。我试图实现 IHttpSecurity 和 IInternetSecurityManager 但我要么是在吠叫错误的树,要么是没有做对。

4

4 回答 4

1

使用此代码:

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 中处理

于 2012-07-05T01:32:25.627 回答
0

WebBrowser 控件只是 Internet Explorer 的另一个实例,因此继承了 IE 中的安全设置。

除了在 IE 本身中编辑它们之外,我没有发现其他更改安全选项的方法。您很可能也可以更改注册表中的设置,但它们对于所有 IE 实例都是全局的。如果您在代码中更改它,那么您也会为所有浏览器实例更改它。

在我前段时间编写的一个自动化应用程序中,我通过监视窗口弹出窗口、抓取窗口句柄并向该窗口中的按钮发送点击来处理弹出窗口。当然不是一个优雅的解决方案:(

于 2010-02-20T11:14:50.430 回答
0

IHttpSecurity 和 IInternetSecurityManager 应该可以工作,您的实现如何?查看https://docs.microsoft.com/en-us/previous-versions/windows/desktop/cc507439%28v%3dvs.85%29以获取示例。

于 2010-02-27T18:05:32.243 回答
0

IInternetSecurityManager 需要 IQueryInterface。我的应用程序中没有实现 IQueryInterface,这就是它不起作用的原因。

于 2010-02-28T12:32:03.203 回答