您的位置:程序门 -> delphi -> windows sdk/api



qq自动运行的问题,难题,看清楚后再回答,感谢大家!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


qq自动运行的问题,难题,看清楚后再回答,感谢大家!!
发表于:2007-11-23 01:27:45 楼主
shellEXECute(handle,   'open',   pchar('d:\保存\qq2006standardkb2\qq\qq.exe'),   nil,   nil,   sw_show);//运行qq
hwnd:=findwindow(nil,pchar('qq用户登录'));//找到句柄
hedit   :=   findwindowex(hwnd,0,'combobox',nil);//这是找到qq号码框句柄
      sendmessage(hedit,wm_settext,0,integer(pchar(qq)));//这是输入qq号码句柄

hdiapass   :=findwindowex(hwnd,0,'#32770',nil);//这是qq密码的句柄

      hpass:=getdlgitem(hdiapass,strtoint('0x3ea6'));//这是输入qq的密码句柄

        for       i:=       1       to       length(mm)       do
      sendmessage(hpass,wm_char,integer(pchar(qqmima[i])),0);//这是向qq密码框里发送密码。

buton:=getdlgitem(hwnd,strtoint('0x3ea0'));    

      sendmessage(buton,bm_click,0,0);   //这是登陆qq

问题出来了,2006版qq,这样可以自动运行qq,并自动输入密码,且正常登陆。
但是2007版qq,当自动输入密码后,可以看到密码自动输入了,但是点击登陆时,密码却自动清空了,这是什么原因呢?有哪位高手知道吗?
发表于:2007-11-23 16:05:241楼 得分:0

strtoint('0x3ea0')   ?   直接写成$3ea0,无需strtoint,题外的,呵呵,我没装qq,所以你的问题我没有发言权
发表于:2007-11-23 16:42:152楼 得分:0
是不是因为qq有安全机制,密码输入太快会认为是有hack程序在try密码呢?
你把输入密码的循环中,每发送一个字符,稍停一下看看.比如加个sleepex(1000,   false)等候一秒.
发表于:2007-11-23 16:49:293楼 得分:0
批量登录?有空我调试一下
发表于:2007-11-24 14:55:414楼 得分:0
2007版qq的安全机制估计作了处理,检测了它的输入不是手工输入的吧。所以清空了。
发表于:2007-11-24 21:49:155楼 得分:0
注意它的键盘保护锁...
发表于:2007-11-24 21:59:416楼 得分:0


用keybd_event模拟键盘输入。

syant   j.   wang
发表于:2007-11-24 22:45:287楼 得分:0


只是还有一个问题,getdlgitem中的id参数,比如0x3ea6,是怎么得来的啊,

用spy++好象得不到,向楼主请叫.
发表于:2007-11-27 14:20:538楼 得分:0



快速检索

最新资讯
热门点击