如何控制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;  
}


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