QQ批量自动登录程序的设计 易语言实现qq批量登录

因为自己的QQ号码有好几个,每次重启机子的时候一个一个的登录超级麻烦,而且腾讯老是在偶尔的时候,再把以前已经记住密码的QQ密码给置空,还要重新输入,太麻烦,因此尝试着自己搞一个批量自动登录的程序

以TM2009为例,查看了一下,未登录之前一个窗体,上边两个控件,登录以后,窗体捕获到一个控件,根据这个,首先找到QQ的登录框,输入用户名,密码的位置,获取窗体句柄的具体代码如下:

这里先定义了一个record类型,

1TQQWnd=record

2QQWnd,QStatusWnd:HWND;//QQ的窗口句柄,QQ的弹出登录状态句柄

3QQNumWnd,QQPassWnd:HWND;//QQ号码输入句柄,QQ密码输入句柄

4end;

5

1functionGetQQLoginHwd(varAQQWnd:TQQWnd):Boolean;

2var

3WinTitle:array[0..254]ofChar;

4WinClass:array[0..254]ofChar;

5begin

6Result:=False;

7AQQWnd.QQWnd:=0;

8AQQWnd.QQNumWnd:=0;

9AQQWnd.QQPassWnd:=0;

10AQQWnd.QQWnd:=FindWindow(nil,'TM2009');

11whileAQQWnd.QQWnd<>0dobegin

12AQQWnd.QQNumWnd:=FindWindowEx(AQQWnd.QQWnd,0,'ATL:30A4D1D8',nil);

13AQQWnd.QQPassWnd:=FindWindowEx(AQQWnd.QQWnd,0,'Edit',nil);

14if(AQQWnd.QQNumWnd<>0)and(AQQWnd.QQPassWnd<>0)thenbegin

15Result:=True;

16FOpened:=True;

17Exit;

18endelsebegin

19AQQWnd.QQWnd:=GetWindow(AQQWnd.QQWnd,GW_HWNDNEXT);

20ifAQQWnd.QQWnd=0thenContinue;

21GetWindowText(AQQWnd.QQWnd,@WinTitle,SizeOf(WinTitle));

22ifWinTitle<>'TM2009'thenContinue;

23end;

24end;

25end;

26

因为腾讯的密码输入框,采用的是低级钩子,然后定时的释放,建立钩子这种方式来防止木马程序去捕获,我尝试了下,直接的用Sendmessage去发送密码信息,没反应,因此这里我采用了SendInput的方式去输入密码,而用户框因为没有做任何的保护措施,所以可以直接的通过发送消息,将QQ账户信息给赋值过去,具体代码为

1SetForegroundWindow(QQWnds.QQWnd);//QQ窗体设置为活动窗体

2//设置QQ号码

3SendMessage(QQWnds.QQNumWnd,WM_SETFOCUS,0,0);//聚焦至QQ号码输入框

4Sleep(20);

5SendMessage(QQWnds.QQNumWnd,WM_SETTEXT,0,LPARAM(FQQNum));//设置QQ号码

6

7SendMessage(QQWnds.QQPassWnd,WM_SETFOCUS,0,0);//聚焦密码输入框

8Sleep(20);

9//设置QQ密码

10SIKeyInput(FQQPass,10);//QQ密码采取SENDINPUT方式

11

12

13

解下来要操作的,就是设置登录方式了,譬如说“我在线上”,“隐身”等状态,由于腾讯的登录窗体是采用的GUI,所以是捕获不到句柄的,只能通过坐标来捕获,我之前的时候,是用的固定坐标,然后有的电脑可以用,有的不能用,后来才发现,是由于腾讯的界面可以拉动,只要一拉动,他的坐标位置就变了,因此我这里采取相对坐标,根据QQ密码框的坐标,来设置点击的坐标。腾讯的状态是在窗体上点击以后,弹出一个跟登录框平级的窗口,因此点击以后,需要检测是否弹出选择状态窗口,找到那个窗口句柄以后,再发送相应的点击命令,这样就完成整个的流程了

1const

2QQStatusYArray:array[0..5]ofInteger=(19,38,62,86,105,131);

3

4

5ClickTimes:=0;//为防止有的时候点击过程中出现其他不可预料的错误,这里可以重复点击三次

6QQWnds.QStatusWnd:=0;//设置QQ状态初始句柄为0

7//鼠标点击

8whileClickTimes<3dobegin

9PostMessage(QQWnds.QQWnd,$201,MK_LBUTTON,StrToInt(#36+IntToHex(QQNumRec.Bottom-QQRect.Top+21,4)+IntToHex(QQNumRec.Left-QQRect.Left+25,4)));//发送点击消息,这里如果采用SendMessage,会死线程,因此我采用了PostMessage

10PostMessage(QQWnds.QQWnd,$202,MK_LBUTTON,StrToInt(#36+IntToHex(QQNumRec.Bottom-QQRect.Top+21,4)+IntToHex(QQNumRec.Left-QQRect.Left+25,4)));

11Sleep(200);

12QQWnds.QStatusWnd:=FindWindow('TXGuiFoundation','TXMenuWindow');//检测是否存在QQ设置状态窗体

13ifQQWnds.QStatusWnd<>0thenbegin

14try

15PostMessage(QQWnds.QStatusWnd,$201,MK_LBUTTON,StrToInt(#36+IntToHex(QQStatusYArray[FQQStatus],4)+IntToHex(27,4)));//如果存在窗体,直接的发送点击信息

16PostMessage(QQWnds.QStatusWnd,$202,MK_LBUTTON,StrToInt(#36+IntToHex(QQStatusYArray[FQQStatus],4)+IntToHex(27,4)));

17except

18end;

19Break;

20end;

21ClickTimes:=ClickTimes+1;

22end;

23ifQQWnds.QStatusWnd=0thenbegin//如果一直没有捕获到设置状态窗体,程序则自动退出

24Task.Comm.Send(MSG_QQ_ERR,IntToStr(QQRect.Left)+':'+IntToStr(QQRect.Top)+':'+IntToStr(QQRect.Right)+':'+IntToStr(QQRect.Bottom)

25+','+IntToStr(QQNumRec.Left)+':'+IntToStr(QQNumRec.Top)+':'+IntToStr(QQNumRec.Right)+':'+IntToStr(QQNumRec.Bottom)

26+IntToStr(QQNumRec.Bottom-QQRect.Top+21)+'设置状态失败');

27//Task.Comm.Send(MSG_QQ_ERR,IntToStr(QQNumRec.Left-QQRect.Left+25)+':'+IntToStr(QQNumRec.Bottom-QQRect.Top+21)+'设置状态失败');

28Exit;

29end;

30

最后,直接的点击登录按钮就可以了,这个地方,也是要计算相对于密码输入框的坐标

1//点击登录按钮

2try

3PostMessage(QQWnds.QQWnd,$201,MK_LBUTTON,StrToInt(#36+IntToHex(QQNumRec.Bottom-QQRect.Top+114,4)+IntToHex(QQNumRec.Left-QQRect.Left+64,4)));

4PostMessage(QQWnds.QQWnd,$202,MK_LBUTTON,StrToInt(#36+IntToHex(QQNumRec.Bottom-QQRect.Top+114,4)+IntToHex(QQNumRec.Left-QQRect.Left+64,4)));

5except

6end;

QQ批量自动登录程序的设计 易语言实现qq批量登录
7

至此,整个的流程完毕了,最后,还可以增加上检测该QQ号码是否已经登录

以下是最后出来的界面,我直接的将QQ信息保存在数据库当中,密码采用了AES加密,所以也不用担心密码信息被泄





可以点击这里下载QQ批量下载

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/128572.html

更多阅读

开机自动运行程序 xp开机自动运行软件

现在跟大家分享开机自动运行程序、如何开机自动运行程序、开机自动运行程序设置,如何设置关机王定时关机软件开机自动运行程序。我们都知道,开机自动运行程序,也就是设置程序随服务方式自启动,一方面大大方便了程序的自己运行,另一方面

QQ如何设置自动登录 iphone描述文件在哪

QQ如何设置自动登录——简介 QQ已经成为了当今社会比较流行的聊天工具,每天一打开电脑第一件事情就是登录QQ,那么怎样才能让QQ自动登录呢?现在我们来设置一下,实现这个愿望。QQ如何设置自动登录——工具/原料QQ软件QQ账号联网电脑QQ如

三种Windows XP开机自动登录的设置方法 windows xp开关机音乐

三种Windows XP开机自动登录的设置方法时间:2011-08-03 12:48来源:学电脑吧 作者:随缘点击:370次 |我要投稿Windows XP开机不会自动登录一直困扰着好多的电脑族,今天学电脑吧随缘为大家整理一篇解决Windows XP开机无法自动登录的文章,

声明:《QQ批量自动登录程序的设计 易语言实现qq批量登录》为网友爱轻易说出口分享!如侵犯到您的合法权益请联系我们删除