下载此文档

自动发送QQ消息的原理分析及实现.doc


文档分类:论文 | 页数:约8页 举报非法文档有奖
1/8
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/8 下载此文档
文档列表 文档介绍
自动发送QQ消息的原理分析及实现
摘要: 本文以自动发送QQ消息的原理分析和实现为主线,重点论述了三种获得子窗口的方法和两种发送消息的方法。
关键字:自动发送QQ消息,子窗口,VC++,消息
一、QQ窗口分析
近来QQ尾巴病毒,在网络上很是流行,我也常常收到网友们发到来的带尾巴的消息。
国庆节闲来无事,就拿此病毒来消遣一下——写一个类似的自动发送QQ消息的小程序。
先让我们分析一下QQ尾巴的发作情况:当用户打开一个QQ消息发送窗口时,病毒会自动往消息文本框里输入文本,然后不等用户反应过来就发出去了。如果要实现这些功能必须获得QQ窗口“发送”按钮的句柄和文本框的句柄。
在进行程序编写之前需要使用Spy++对QQ窗口进行分析,以了解QQ窗口各个子窗口之间的关系。Spy++是一个基于 Win32 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用Spy++ 可以查看选定的窗口、线程、进程或消息的属性。
启动Spy++,并打开一个QQ窗口。在Spy++的“监视”菜单中选择“查找窗口”(如图1),就弹出如图2的窗口,然后选择“查找程序工具”,拖拉到QQ窗口的输入文本框上,

图1:选择查找窗口图2:查找窗口
单击确定,就弹出如图3的窗口。
图3:窗口属性
在图3这个窗口中,我们可以对当前窗口的类别、父窗口和子窗口的继承关系等有关该窗口的信息。经分析,输入文本框是QQ窗口的第4个子窗口的第23个子窗口的第1个子窗口,这对我们程序的编写十分重要。采用同样的步骤,对“发送”按钮进行分析,得到:“发送”是QQ窗口的一个子窗口。在本文中为了示范作用,我们采用多种不同的方式获得子窗口。本程序是在VC++2003开发环境下编写的,可以正常运行。
二、QQ窗口句柄的获取
QQ窗口有两种,一种是消息模式,在这种情况下,窗口标题含有“发送消息”字样;一种是聊天模式,窗口标题含有“聊天中”字样。这些文字将成为我们寻找QQ窗口的线索。
下面是获得QQ窗口的代码:
CWnd *hCurrentWindow;
CWnd *QQWnd;
CString WndText;
CString SendText;
hCurrentWindow=(CDialog* )GetWindow(GW_HWNDFIRST);
while(hCurrentWindow!=NULL)
{
hCurrentWindow->GetWindowText(WndText);
if((("聊天中")!=-1)||(("发送消息")!=-1))
{
QQWnd=hCurrentWindow;
break;
}
else
hCurrentWindow=hCurrentWindow->GetWindow(GW_HWNDNEXT);
}
在对代码进行解释之间,先对GetWindow(UNIT nCmd)进行简单的介绍。该函数返回与窗口有特定关系(如Z序或所有者)的窗口句柄。参数nCmd:说明指定窗口与要获得句柄的窗口之间的关系。该参数值可以是下列之一:
GW_CHILD:如果指定窗口是父窗口,则获得的是在Z序顶端的子窗口的句柄,否则为NULL。函数仅检查指定父

自动发送QQ消息的原理分析及实现 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数8
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小116 KB
  • 时间2017-11-23