中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 系统
广告过滤小程序
作者:未知 时间:2005-07-20 14:20 出处:VC知识库 责编:chinaitpower
              摘要:广告过滤小程序

广告过滤小程序


作者:ForeverGIS

下载源代码


    这几天,在使用某个软件试用版的过程中,经常弹出广告,真是不甚烦恼,如何写个小程序把他去掉呢?请和我一起来吧!
    思路是这样的:首先需要知道要消灭窗体的标题(比如MyWindow),然后获取窗体的句柄,判断它的标题是否和需要消灭的窗体的标题一样,如果是的话将它关闭。道理很简单,实现也不难,看看下面的代码:

CPoint MP;
char str[256];
HWND hWnd; 
GetCursorPos(&MP);
hWnd = ::WindowFromPoint(MP);
::SendMessage(hWnd, WM_GETTEXT, 255, (long)str);
if((strcmp(str, "MyWindow") == 0))
::PostMessage(hWnd, WM_CLOSE, 0, 0);       
    这是我从一个下载的代码中拷贝出来的。分析一下:首先获取当前光标的坐标,然后获取这个光标指向的窗体的句柄,通过这个句柄获取窗体的标题,如果标题等于MyWindow,则把这个窗体关闭。
    这段代码基本上达到了我们的要求,但还是觉得烦琐,因为它要求我们把光标指向需要关闭的窗体,而事实上我们想做到的是让这个窗体自动关闭,其实这也不难,把桌面上的所有窗体遍历一遍就行了!有这样一个API可以达到目的,EnumWindows:
BOOL EnumWindows(
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);  
它需要一个回调函数作为参数,运行过程是这样的:EnumWindows遍历桌面上的窗体,并获取该窗体的句柄,将该句柄传给回调函数lpEnumFunc,EnumWindows结束的条件是:最后一个桌面窗体被找到或者回调函数的返回值是FALSE。这个回调函数要求的定义如下:
BOOL CALLBACK EnumWindowsProc(
HWND hwnd, // handle to parent window
LPARAM lParam // application-defined value
);      
    hwnd 是由 EnumWindows 传递进来的窗体句柄,有了这个句柄,就可以象上面那样通过判断这个窗体的句柄决定是否将它关闭:
char str[256];
::SendMessage(hwnd, WM_GETTEXT, 255, (long)str);
if((strcmp(str, "MyWindow") == 0))
::PostMessage(hWnd, WM_CLOSE, 0, 0);      
    示例代码中创建了一个基于Dialog的工程,通过时间控件实现了对间隔一定时间弹出广告的识别与关闭,仅供参考!

关于文章和代码中的问题请您与作者联系:

通信地址:吉林省长春市西民主大街6号地球探测科学与技术学院 2001 级硕士研究生
邮政编码:130026
电子邮件:forevergis@sina.com
作者主页:http://forevergis.6to23.com
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有