找回密码
 加入
搜索
楼主: apoorman1986

[AU3基础] [已解决]关于QQ2012自动登录的问题

 火... [复制链接]
发表于 2012-3-4 20:23:36 | 显示全部楼层
而且QQ2012中尚还有一个EDIT1的密码控件可以查看  如果非要用QQ2012登录窗口  也可以根据这个控件的坐标  来判断出QQ号码的输入框坐标
发表于 2012-3-4 20:29:25 | 显示全部楼层
学习学习学习啦
发表于 2012-3-4 20:47:05 | 显示全部楼层
刚装的2012 亲测可用  窗口可随意拉伸 因QQ号码的输入框找不到控件名称 登陆窗口必须处于激活状态 且不能有遮挡
其它意外情况 楼主自己解决吧 比如已经保存过密码的QQ仍然会在后面继续输入密码  再比如登录成功的窗口标题 和登录窗口的标题是一样的 如何对正确的窗口进行操作
作为参考
http://www.autoitx.com/forum.php ... mp;page=2#pid385930

$QQtitle = "QQ2012"
$QQID = "123456789"
$QQPWD= "abcdefghi"
If Not WinExists ($QQtitle) Then Exit
$winpos = WinGetPos ($QQtitle)
$Ctrlpos = ControlGetPos ($QQtitle,"","Edit1")
WinActive ($QQtitle)
$mousepos = MouseGetPos ()
MouseClick ("Left",$winpos[0]+$Ctrlpos[0]+120,$winpos[1]+$Ctrlpos[1]-45,1,0)
MouseMove ($mousepos[0],$mousepos[1],0)
Send ("^a")
Send ($QQID)
ControlSend ($QQtitle,"","Edit1",$QQPWD)
ControlSend ($QQtitle,"","Edit1","{Enter}")
发表于 2012-3-4 22:16:29 | 显示全部楼层
回复 2# zldfsz


    你发的地址,我对他的代码进行的强化升级,地址!
http://115.com/file/dpqym583#
QQ批量登录工具.zip
发表于 2012-3-4 22:57:11 | 显示全部楼层
回复 19# pp648852


    看过了,看起来不错,不过不能登录QQ2012
发表于 2012-3-4 23:01:09 | 显示全部楼层
回复 10# apoorman1986

这种模拟键盘鼠标的想不出错很困难,只是看看能不能找到一种错误概率相对更小的方法
 楼主| 发表于 2012-3-4 23:51:55 | 显示全部楼层
回复 18# zch11230

控件Edit无效吧?我这样测试
$Ctrlpos = ControlGetPos ($QQtitle,"","Edit1")
MsgBox("0","",$Ctrlpos[0]&$Ctrlpos[1])
也出不来!
发表于 2012-3-5 00:00:46 | 显示全部楼层
回复 22# apoorman1986


    你现在是否正挂着QQ 成功登陆的QQ标题 也是QQ2012  把所有的QQ全关了 只开一个登陆窗口你再试吧 肯定可以的 我看你这问题后才下的QQ2012 Beta1
 楼主| 发表于 2012-3-5 00:19:53 | 显示全部楼层
回复 23# zch11230


    ZCH兄说的极是,果然我QQ2012在挂着时,测试不行,要关掉QQ,不挂任何Q,那个控件才测试成功!
发表于 2012-3-5 01:34:47 | 显示全部楼层
明天给你们发个能用的,不限制窗口模式,不怕调整窗口大小,现在在构思中
发表于 2012-3-5 17:12:56 | 显示全部楼层
回复 20# zldfsz


    恩恩,2012跟2011有区别,比2011难搞!
发表于 2012-3-5 18:07:51 | 显示全部楼层
回复 26# pp648852
昨天说过的。。。
试试吧,测试了效果不错,加到你的程序里,做个QQ版本的判断
$usr = "88888888";QQ号
$pwd = "88888888";密码
#include <Process.au3>
$ExistEdit1=0
Run(StringRegExpReplace(RegRead('HKEY_CLASSES_ROOT\Tencent\DefaultIcon', ''), '[^\\]+$', '') & 'QQ.exe')
WinWait("QQ2012")
$Newusr = StringRegExp($usr, "(.)", 3)
$Newpwd = StringRegExp($pwd, "(.)", 3)
Do                                                        
        $list=WinList('[class:TXGuiFoundation]')
        For $u=1 To $list[0][0]
                $LPID=WinGetProcess($list[$u][1])
                If _ProcessGetName($LPID)="QQ.exe" Then
                        $POS=WinGetPos($list[$u][1])
                        $ExistEdit1=ControlSend($list[$u][1], "", "Edit1", "+{tab}")
                        If $ExistEdit1 Then
                                Local $QQ[5]=[$list[$u][1],$POS[0],$POS[1],$POS[2],$POS[3]]
                                ExitLoop
                        EndIf
                EndIf
        Next
        Sleep(300)
Until $ExistEdit1
Do 
        Sleep(300)
Until ControlSend($QQ[0], "", "Edit1", "+{tab}")
For $n = 0 To StringLen($usr) - 1
        ControlSend($QQ[0], "", "", $Newusr[$n],1)
Next
For $n = 0 To 15
        ControlSend($QQ[0], "", "Edit1", "{BS}")
Next
For $n = 0 To StringLen($pwd) - 1
        ControlSend($QQ[0], "", "Edit1", $Newpwd[$n],1)
Next
ControlSend($QQ[0], "", "Edit1", "{enter}")
发表于 2012-3-5 19:30:16 | 显示全部楼层
Q号和密码不对。当然不能登陆了~!嘿嘿。
发表于 2012-3-5 19:31:50 | 显示全部楼层
回复 28# xx44t10


    无语,你不会换成自己的啊
发表于 2012-3-5 19:58:26 | 显示全部楼层
回复 27# zldfsz


    好的,我研究研究代码,对正规还刚开始学,有点难度!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 03:11 , Processed in 0.071680 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表