应用实例VC实现广告窗口自动关闭20
2020-06-09 来源:黑龙江租房网
对于那些不是IE类型的窗体根本不用加以考虑,可以将刚才得到的strClassName窗口类型同"IEFrame"进行比较来进行判断,如果是IE窗口才可以进行下一步的判断:
//根据句柄获取子窗口指针
CWnd* pChildWnd=CWnd::FromHandle(FindWindowEx(pMainWnd-m_hWnd,NULL消费者则根据自己的能力选择。,"Worker"从鸡蛋生产源头到终端消费每个环节可能存在的风险进行了系统梳理,NULL));
if(!pChildWnd)
pChildWnd=CWnd::FromHandle(FindWindowEx(pMainWnd-m_hWnd,NULL,"WorkerA",NULL));
如果子窗口存在,用类似的方法获取下一个子窗口指针:
CWnd* pChildNextWnd=CWnd::FromHandle(FindWindowEx(pMainWnd-m_hWnd,pChildWnd-m_hWnd,"Worker",NULL));
if(!pChildNextWnd)
pChildNextWnd=CWnd::FromHandle(FindWindowEx(pMainWnd-m_hWnd,pChildWnd-m_hWnd,"WorkerA",NULL));
如果该窗口存在,那么下步只要验证当前窗口可视就可以断定其的确属于广告窗口,可以通过GetWindowLong()获取到当前的窗口风格,然后通过逻辑运算可以判断出当前窗口是否具有WS_VISIBLE可视效果:
if(pChildNextWnd)
{
if(!(GetWindowLong(pChildWnd-m_hWnd,GWL_STYLE)WS_VISIBLE))
{
pTempWnd=NULL;
pTempWnd=pMainWnd;
//关闭广告窗口
……
return;
}
}
现在已经可以准确判断出哪个是广告窗口了,只需将其关闭即可,前段代码已经将我们想关闭的窗口指针保存到变量pTempWnd中,因此我们可以通过简单的向其发送WM_CLOSE消息就可以彻底将其关闭了:
pTempWnd-PostMessage(WM_CLOSE,0,0);
三、 小结
本文仅对于关闭广告窗口的核心代码作了介绍,在实际编程中需要考虑到许多实际的因素,比如为了节省屏幕占用空间,最好将其做成系统托盘模式;由于需要长期驻留内存所以要尽量把程序大小控制好,并且采用Release发行版本等等。本文所述内容有一定的通用性,可以将其用于监视某项进程,当该进程启动后由程序来触发某个事件来对其进行处理等等
查看本文来源
山西白斑疯医院脑梗塞喝什么茶好三门峡治疗白癜风方法-
- 下一篇
- 一定要看重庆这张照片