如何控制WebBrowser控件不下載圖片

Sidyhehttp://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;  
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章