你好:

     感谢你访问我的 Blog ,本博客只提供博主的技术经验分享,你可以在此做简单的留言和评论,我会抽空回复你;若是要深入交流探讨,请联系QQ:47853253或者加QQ群:12012081


 

QQ自动登录【AU3】脚本

脚本开始:

------

 $usr = "2873574283";QQ号

;定义QQ帐户变量并赋值
$pwd = "*******q";密码
;定义QQ帐户变量并赋值
#include <Process.au3>
;包含process.au3脚本
$ExistEdit1=0
Run(StringRegExpReplace(RegRead('HKEY_CLASSES_ROOT\Tencent\DefaultIcon', ''), '[^\\]+$', '') & 'QQ.exe')
;使用正则表达式确定QQ的路径
WinWait("QQ")
;脚本暂停,等待QQ运行
$Newusr = StringRegExp($usr, "(.)", 3)
;.的意思是提取除了换行外的所有字符串
$Newpwd = StringRegExp($pwd, "(.)", 3)
;3的意思是返回全局匹配的数组
;StringRegExp ( "字符串", "表达式" [, 标志 ] [, 偏移量 ] ] )字符串 需要检查的字符串
;表达式 正则表达式比较.
;标志 [可选参数] 一个表示函数运行方式的值. 见下表详细说明. 默认 0.
;偏移量 [可选参数] 开始匹配的字符串位置 (起始于1). 默认为 1.
;标志
;0 返回 1(匹配) 或 0(不匹配)
;1 返回匹配项目的数组.
;2 返回包括完整匹配的数组.(Perl/ PHP 样式).
;3 返回全局匹配的数组.
;4 返回包括完整匹配(Perl/ PHP 样式)和全局匹配的数组.
Do                                                      
        $list=WinList('[class:TXGuiFoundation]')
;提取窗口列表。WinList ( ["窗口标题" [, "窗口文本"]] )
        For $u=1 To $list[0][0]
                $LPID=WinGetProcess($list[$u][1])
;获取窗口关联的PID
                If _ProcessGetName($LPID)="QQ.exe" Then
;如果返回进程名=qq.exe
                        $POS=WinGetPos($list[$u][1])
;获取窗口的坐标位置和大小
                        $ExistEdit1=ControlSend($list[$u][1], "", "Edit1", "+{tab}")
;向指定的控件发送字符串。ControlSend ( "窗口标题", "窗口文本", 控件ID, "字符串" [, 标志] )
                        If $ExistEdit1 Then
                                Local $QQ[5]=[$list[$u][1],$POS[0],$POS[1],$POS[2],$POS[3]]
;将$list[$u][1]赋值给$QQ[0],将$pos[0]赋值给$QQ[1],将$pos[1]赋值给$QQ[2],将$pos[2]赋值给$QQ[3],将$pos[0]赋值给$QQ[4]
                                ExitLoop
;退出循环
EndIf
;退出IF
EndIf
;退出IF
        Next
        Sleep(300)
;等待3秒
Until $ExistEdit1
Do 
        Sleep(300)
Until ControlSend($QQ[0], "", "Edit1", "+{tab}")
;+tab的意思是:shift+tab
For $n = 0 To StringLen($usr) - 1
;返回指定字符串的字符总数-1
        ControlSend($QQ[0], "", "", $Newusr[$n],1)
;[可选参数] 更改程序处理“按键”的方式:
  ;flag = 0 (默认),按键序列中含有的特殊字符比如 + 和 {LEFT} 将被视为 SHIFT 和 左箭头 键。
  ;flag = 1,按键将按原样发送。
Next
For $n = 0 To 0
;只循环1次
      ;  ControlSend($QQ[0], "", "Edit1", "{tab}")
 send ("{tab}")
 ;发送tab键,光标到密码区
  Next
For $n= 0 to 0
;只循环1次
;For $n = 0 To StringLen($pwd) - 1  
      ;  ControlSend($QQ[0], "", "Edit1", $Newpwd[$n],1)
send ($pwd,1)
;$pwd="*******q"
;1标志,完整发送。[可选参数] 更改程序处理“按键”的方式:
 ; 标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和 ALT 键。
 ; 标志 = 1,按键将按原样发送。
 ;^表示告知 AutoIt 要发送一个 CONTROL 键击动作
 ;#井号将发送一个 Windows 徽标键
  Next
  sleep(500)
  ;等待5秒
ControlSend($QQ[0], "", "Edit1", "{enter}")
;发送回车
 


[本日志由 lq3447 于 2017-07-01 10:45 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 176
发表评论
你没有权限发表留言!