简单方法实现webbrowser不显示图片flash的功能。
发布时间:2020-12-15 07:07:26 所属栏目:百科 来源:网络整理
导读:因为需要webbrowser的文本内容而非图片,所以为了提高访问速度则不需要加载多余的图片flash等信息。 找了些文档,发现都是IE接口开发,实现复杂而且麻烦。为了赶工作量,只好通过一个捷径来实现了。 那就是HOOK Wininet的HttpOpenRequestW函数,webbrowser内
因为需要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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |