。NET WebBrowser控件中的安全消息处理

问题描述 投票:0回答:4

我正在尝试编写一个VB.net应用程序,该应用程序将允许用户使用html / jscript创建自己的窗口小部件插件,我想在应用程序设置中设置自己的安全性选项,以允许用户选择可以运行或不运行的内容,例如脚本,Flash,ActiveX。

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

我开始自定义WB控件以适应实现各种接口(如IOleClientSite,IDocHostShowUI,IDocHostUIHandler等)的需要,

我似乎找不到任何可以控制WB控件安全权限的内容。我试图实现IHttpSecurity和IInternetSecurityManager,但是我要么树错了树,要么做的不正确。

vb.net webbrowser-control managed
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中的句柄

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

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

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


0
投票
IInternetSecurityManager需要IQueryInterface。我没有在应用程序中实现IQueryInterface,这就是为什么它不起作用的原因。

0
投票
IHttpSecurity和IInternetSecurityManager应该可以工作,您的实现如何?以https://docs.microsoft.com/en-us/previous-versions/windows/desktop/cc507439%28v%3dvs.85%29为例。
© www.soinside.com 2019 - 2024. All rights reserved.