一个屏蔽广告程序的简单实现
2007-12-04 22:51
393 查看
笔者前几天中了一个广告程序,经常弹出该广告,不胜其烦,一直在想怎么去掉这个烦人的广告,想想用一下API函数应该可能关掉该广告。
该程序如下:
先定义一个回调函数BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);为的是跟EnumWindows函数相关连,枚举窗口。
然后在此回调函数中调用一个API函数,也就是FindWindowEx函数,根据找到跟窗口标题相对应的句柄之后,用一个PostMessage()把此窗口关闭即可。
至于如何找到此广告程序的标题,我们可以用VC自带的spy++工具来找。
完整程序如下:
#i nclude <Windows.h>
#i nclude <process.h>
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);
int main()
{
::EnumWindows(EnumWindowsFuntions,NULL);
}
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam)
{
hWnd = FindWindowEx(NULL, hWnd, NULL, "http://www.yawane.com/down/4820.html");
if(hWnd)
{
::PostMessage(hWnd,WM_CLOSE,0,0);
return TRUE;
}
Sleep(30000);
return FALSE;
}
该程序如下:
先定义一个回调函数BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);为的是跟EnumWindows函数相关连,枚举窗口。
然后在此回调函数中调用一个API函数,也就是FindWindowEx函数,根据找到跟窗口标题相对应的句柄之后,用一个PostMessage()把此窗口关闭即可。
至于如何找到此广告程序的标题,我们可以用VC自带的spy++工具来找。
完整程序如下:
#i nclude <Windows.h>
#i nclude <process.h>
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam);
int main()
{
::EnumWindows(EnumWindowsFuntions,NULL);
}
BOOL CALLBACK EnumWindowsFuntions(HWND hWnd,LPARAM lParam)
{
hWnd = FindWindowEx(NULL, hWnd, NULL, "http://www.yawane.com/down/4820.html");
if(hWnd)
{
::PostMessage(hWnd,WM_CLOSE,0,0);
return TRUE;
}
Sleep(30000);
return FALSE;
}
相关文章推荐
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- 一个简单的时间片轮转多道程序内核代码 的实现
- Java实现一个小说采集程序的简单实例
- python学习笔记:"爬虫+有道词典"实现一个简单的英译汉程序
- Python实现一个简单的验证码程序
- 一个能实现超链接的最简单程序
- 简单代码实现C#中运行另外一个程序
- 一个简单的循环多道程序内核代码 实现
- 利用java实现一个简单的远程监控程序
- 一个java实现的简单文件下载程序
- 一个简单的AJAX实现,基于C#的ASP.Net,包括服务器端的程序代码
- 用Python实现一个简单的能够发送带附件的邮件程序的教程
- Html5 Canvas+Javascript实现一个简单画图程序(三)
- 【1】实现一个简单的linux系统引导程序
- 01 TCP Socket 编程_一个简单的服务端程序和客户端程序实现
- 用Java实现一个简单的服务器与客户端程序
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- Linux下之使用简单3种创建文件的命令,并实现一个Html和JavaScript小程序
- 《Python - 实现一个简单的装饰器》--- 输出程序运行时间
- 用UDP实现可靠文件传输,如何利用UDX创建一个简单的WIN32程序