MFC 屏蔽webBrowser打开网页的弹窗

来源:互联网 发布:c语言延时1秒函数delay 编辑:程序博客网 时间:2024/05/16 00:57

void CansDlg::NewWindow3Explorer1(LPDISPATCH* ppDisp, BOOL* Cancel, unsigned long dwFlags, LPCTSTR bstrUrlContext, LPCTSTR bstrUrl){// TODO:  在此处添加消息处理程序代码//不打开新窗口*Cancel = TRUE;}方法II:重载Web控件所在窗口的方法“OnAmbientProperty”//[说明]此函数为主窗口方法重载,可以屏蔽打开网页的所有脚本运行及弹窗,故要慎用.#include "mshtmdid.h"BOOL CansDlg::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar){// TODO:  在此添加专用代码和/或调用基类if (dispid == DISPID_AMBIENT_DLCONTROL){pvar->vt = VT_I4;pvar->lVal = DLCTL_NO_RUNACTIVEXCTLS | DLCTL_NO_SCRIPTS | DLCTL_NO_JAVA | DLCTL_NO_DLACTIVEXCTLS           | DLCTL_NO_FRAMEDOWNLOAD | DLCTL_NO_BEHAVIORS | DLCTL_NO_FRAMEDOWNLOAD | DLCTL_SILENT;return TRUE;}return CDialogEx::OnAmbientProperty(pSite, dispid, pvar);}

MSDN中说了:
DLCTL_BGSOUNDS 浏览器组件播放同文档相联的背景声音; 
DLCTL_DLIMAGES 浏览器组件从服务器下载图形; 
DLCTL_DOWNLOADONLY 浏览器组件下载页面但不显示; 
DLCTL_FORCEOFFLINE 浏览器组件工作在脱机方式。通过 URLMON 提出请求时, 即使计算机连接了互联网,也设置 BINDF_OFFLINEOPERATION 标志; 
DLCTL_NO_BEHAVIORS 浏览器组件不执行任何行为; 
DLCTL_NO_CLIENTPULL 浏览器组件不执行任何客户端的 pull 操作; 
DLCTL_NO_DLACTIVEXCTLS 浏览器组件不下载文档中的任何 ActiveX 控件; 
DLCTL_NO_FRAMEDOWNLOAD 浏览器组件对包含框架的页面进行语法分析但不下载任何帧, 同时忽略框架,不翻译任何 frame 标记; 
DLCTL_NO_JAVA浏览器组件不执行任何 Java applet; 
DLCTL_NO_METACHARSET 浏览器组件隐藏文档中的 META 元素指示的字符集; 
DLCTL_NO_RUNACTIVEXCTLS 浏览器组件不执行文档中的任何 ActiveX 控件; 
DLCTL_NO_SCRIPTS 浏览器组件不执行任何脚本; 
DLCTL_OFFLINE 与 DLCTL_OFFLINEIFNOTCONNECTED 相同; 
DLCTL_OFFLINEIFNOTCONNECTED 如果未连接互联网,浏览器组件将以脱机方式工作。通过 URLMON 提出请求时,即使计算机连接了互联网,也设置 BINDF_GETFROMCACHE_IF_NET_FAIL 标志; 
DLCTL_PRAGMA_NO_CACHE 浏览器组件迫使请求发送给服务器并忽略代理,即使代理指明 数据是最新的也是如此。通过 URLMON 提出请求时,设置 BINDF_PRAGMA_NO_CACHE 标志; 
DLCTL_RESYNCHRONIZE 浏览器组件忽略缓存中的数据并向服务器请求更新。如果服务器指明 缓存中的数据是更新了的则使用缓存数据。通过 URLMON 提出 请求时,设置 BINDF_RESYNCHRONIZE 标志; 
DLCTL_SILENT 浏览器组件不显示用户界面。通过 URLMON 提出请求时,设置 BINDF_SILENTOPERATION 标志; 
DLCTL_URL_ENCODING_DISABLE_UTF8 浏览器组件禁止 UTF-8 编码; 
DLCTL_URL_ENCODING_ENABLE_UTF8 浏览器组件允许 UTF-8 编码; 
DLCTL_VIDEOS 浏览器组件播放文

                                             
1 0