您所在位置: 网站首页 / 文档列表 / 数据结构与算法 / 文档详情
如何用HOOK函数关闭IE广告窗口.docx 立即下载
2024-05-09
约2.5千字
约12页
0
13KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

如何用HOOK函数关闭IE广告窗口.docx

如何用HOOK函数关闭IE广告窗口.docx

预览

免费试读已结束,剩余 2 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

如何用HOOK函数关闭IE广告窗口如何用HOOK函数关闭IE广告窗口很多时候广告窗口都很烦人,YJBYS小编下面为你整理了如何用HOOK函数关闭IE广告窗口的方法,希望对你有所帮助。1、弹出式广告框也是IE浏览窗口,一般来说,它是一个无菜单、无工具栏窗口。所以可以在桌面上打开一个窗口时,首先判断该窗口类型是否是“IEFrame”,接着判断IEFrame的子窗口类型“WorkerW”的`属性是否是不可见(这是一般弹出式广告窗口的特征),这样就可以向该窗口发出关闭的消息,以上步骤一般能自动关闭大部分弹出广告框。2、通过WINDOWS编程中的钩子(HOOK)函数解决截获在桌面上打开窗口的消息。钩子函数的基本原理就是对WINDOWS系统的某些动作注册,当发生这些事件时首先调用预先设置的回调函数,回调函数处理后,再由原来的函数处理。这里回调函数的作用正是实现1中叙述的功能。因为这里实现的钩子函数是监视其它进程窗口产生的消息,所以必须用动态链接库实现。主要代码如下:在动态链接库中,实现钩子回调函数。LRESULTCALLBACKCallWndProc(intnCode,//hookcodeWPARAMwParam,//current-processflagLPARAMlParam//addressofstructurewithmessagedata){CWPSTRUCT*pCwp=NULL;CStringstrClassName;HWNDhWnd=NULL;unsignedlongulStyle=0;BOOLbIsClosed=FALSE;if(nCode<0){returnCallNextHookEx(gHook,nCode,wParam,lParam);}if(NULL!=lParam){pCwp=(CWPSTRUCT*)lParam;if(WM_SHOWWINDOW==pCwp->message){::GetClassName(pCwp->hwnd,strClassName.GetBufferSetLength(128),128);//IE窗口的类型为IEFrameif(0==strClassName.CompareNoCase("IEFrame")){hWnd=::GetWindow(pCwp->hwnd,GW_CHILD);if(NULL==hWnd){bIsClosed=TRUE;}while(NULL!=hWnd){::GetClassName(hWnd,strClassName.GetBufferSetLength(127),127);//IEFrame的子窗口包含窗口类型WorkerWif(0==strClassName.CompareNoCase("WorkerW")){//若WorkerW不可见,则一般是广告弹出窗口if(0==(::GetWindowLong(hWnd,GWL_STYLE)&WS_VISIBLE)){bIsClosed=TRUE;break;}break;}else{bIsClosed=TRUE;}hWnd=::GetWindow(hWnd,GW_HWNDNEXT);}//若是IE广告弹出窗口,则关闭if(TRUE==bIsClosed){::PostMessage(pCwp->hwnd,WM_CLOSE,0,0);}}}}returnCallNextHookEx(gHook,nCode,wParam,lParam);}在主程序中,调用DLL中的CallWndProc。//获得动态链接库句柄HINSTANCEhmodHook=GetModuleHandle("CloseWndDll.dll");if(NULL==hmodHook){returnTRUE;}//设置钩子函数if(NULL==gHook){gHook=SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)GetProcAddress(hmodHook,"CallWndProc"),hmodHook,0);}主程序退出时,注意调用钩子卸载函数。//卸载钩子函数if(NULL!=gHook){UnhookWindowsHookEx(gHook);gHook=NULL;}
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

如何用HOOK函数关闭IE广告窗口

文档大小:13KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用