简单方法实现webbrowser不显示图片flash的功能。

因为需要webbrowser的文本内容而非图片,所以为了提高访问速度则不需要加载多余的图片flash等信息。

找了些文档,发现都是IE接口开发,实现复杂而且麻烦。为了赶工作量,只好通过一个捷径来实现了。

那就是HOOK Wininet的HttpOpenRequestW函数,webbrowser内部是通过这个函数来响应请求的。

当然,弊端就是,如果程序中其他功能用到了这个函数,那也会直接被pass掉。


//HOOK核心功能,本人用到了CString,可自行替换掉,只需要过滤掉格式名返回0即可,webp什么的都可自行加入.
HINTERNET WINAPI nHttpOpenRequestW(HINTERNET hConnect, LPCWSTR lpszVerb, LPCWSTR lpszObjectName, LPCWSTR lpszVersion, LPCWSTR lpszReferrer, LPCWSTR FAR * lplpszAcceptTypes, DWORD dwFlags, DWORD_PTR dwContext){
	static CString sFilter = _T("gif|jpg|png|swf|jpeg");
	CString sObjectName = lpszObjectName; 
	if (sFilter.Find(sObjectName.Right(3)) !=-1)
		return (HINTERNET)0;
	return hhkHttpOpenRequestW(hConnect,lpszVerb,lpszObjectName,lpszVersion,lpszReferrer,lplpszAcceptTypes,dwFlags,dwContext);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值