Sidyhe在http://blog.csdn.net/sidyhe/article/details/9073485 一文中,利用C++以及Windows SDK实现了WebBrowser控件的容器。
我们可以在Sidyhe的基础上,简单修改CXWebBrowser类,即可控制其在访问页面时,不下载图片(对其他下载资源的控制可参照图片的)。
具体实现只要修改Invoke函数即可,原来的Invoke函数如下:
HRESULT CXWebBrowser::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { return E_NOTIMPL; } 修改成: HRESULT CXWebBrowser::Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) { switch(dispIdMember) { case DISPID_AMBIENT_DLCONTROL: pVarResult->vt = VT_I4; pVarResult->lVal = DLCTL_VIDEOS | DLCTL_NO_JAVA; // 不下载图片,下载视频、不运行java程序 break; default: break; } return E_NOTIMPL; }
时间: 2024-10-13 19:47:00