我怎么能只允许flash activeX,而其他人不允许在我的网络控制使用IWebBrowser2



我正在使用IWebBrowser2开发我的Web控件。

我希望它播放flash电影,但不允许其他ActiveX控件。我发现使用DLCTL_NO_DLACTIVEXCTLS|DLCTL_NO_RUNACTIVEXCTLS标志禁止所有ActiveX控件在invoke的实现中。但是我在msdn中搜索IWebBrowser和相关接口,找不到任何解决方案。

我希望在加载ActiveX之前捕获一个事件,或者只允许flash ActiveX方式。

请帮忙。谢谢

Web浏览器的主机可以通过实现IOleClientSite并使用一组所需的行为标志响应DISPID_AMBIENT_DLCONTROL来控制其行为。一个重要的警告:标志DLCTL_NO_RUNACTIVEXCTLS仅阻止文档本身中的OBJECT标记。如果未设置DLCTL_no_SCRIPTS,则不会影响从脚本调用新的ActiveXObject("…")。

为了防止ActiveX在Web浏览器主机中执行,请提供IInternetSecurityManager,并在使用URLACTION_ActiveX_RUN调用ProcessURLAction实现时返回URLPOLICY_DISALLOW和S_FALSE。为了只允许指定的"允许列表"控件运行,ProcessURLAction实现可以检查所请求控件的CLSID;该CLSID是使用pContext参数传入的。

最新更新