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; }