QQ登录函数大比拼。(请设定回复观看)
本帖最后由 gzh888666 于 2011-1-22 20:31 编辑每天都要使用的QQ,又谁能想到写个自定义函数呢?也许你会认为是浪费时间,我还真的写不出来这个!{:face (396):};QQ登录函数(纯提供给大家练手题目,无实际意义,勿喷!最好设定回复观看吧,顺便学习!)
;$path=QQ的路径
;$Username=用户名
;$Password=密码
;$Remember=是否选中记住密码:0为否,1为是。默认为0。(可选)
;$Autologin=是否选中自动登录:0为否,1为是。默认为0。(可选)
;$Status=登录状态:0=我在线上,1=Q我吧,2=离开,3=忙碌,4=请勿打扰,5=隐身 。默认为0。(可选)
;$Agent=网络代理:
;0=不使用代理 1=使用浏览器设置。
;代理填写格式:类型/IP:端口 如:http/211.139.10.173:80 或 SOCKS5/211.139.10.173:1080
;默认为0。(可选)
;$Servers=登录服务器: 0=不使用类型,填写 UDP 或 TCP。默认为0。(可选)
_QQLogin($path,$Username,$Password,$Remember,$Autologin,$Status,$Agent,$Servers) 好题目,函数原型很强大,可惜不会。 回复 1# gzh888666
我很喜欢这样的题目{:face (239):}
随便写了一个,没有达到要求
_QQLogin("C:\Program Files\Tencent\QQ\Bin\QQ.exe", '123456789', '111aaabbb')
_QQLogin("C:\Program Files\Tencent\QQ\Bin\QQ.exe", '123456789', '111aaabbb', '', 5)
;$path=QQ的路径
;=============================================================================================
;$path=QQ的路径
;$Username=用户名
;$Password=密码
;$Remember=是否选中记住密码:0为否,1为是。默认为0。(可选)
;$Status=登录状态:0=我在线上,1=Q我吧,2=离开,3=忙碌,4=请勿打扰,5=隐身 。默认为0。(可选)
;$Agnt=网络代理:
;0=不使用代理 1=使用浏览器设置。
;=============================================================================================
Func _QQLogin($path, $Username, $Password, $Remember = 0, $Status = 0, $Agent = 0)
Opt("WinWaitDelay", 100)
Opt("WinDetectHiddenText", 1)
Opt("MouseCoordMode", 0)
If Not ProcessExists("QQ.exe") Then
Run($path)
_WinWaitActivate("QQ2010", '')
MouseClick("left", 188, 196, 1)
MouseClick("left", 113, 196, 1);取消记住密码和自动登录
ControlClick("QQ2010", "", "", "left", 1);选中帐号
Send("{DEL}");清除帐号
Send($Username);输入帐号
ControlClick("QQ2010", "", "Edit1", "left", 1);选中密码
Send($Password, 1);输入密码
If $Agent = 0 Then
MouseClick("left", 52, 226, 1)
_WinWaitActivate("设置", "")
MouseClick("left", 164, 136, 1)
MouseClick("left", 146, 156, 1)
MouseClick("left", 340, 360, 1);不使用代理
Else
MouseClick("left", 61, 224, 1)
_WinWaitActivate("设置", "")
MouseClick("left", 111, 137, 1)
MouseClick("left", 113, 213, 1)
MouseClick("left", 341, 354, 1);使用浏览器设置
EndIf
_WinWaitActivate("QQ2010", '')
If $Status = 5 Then
MouseClick("left", 82, 193, 1)
MouseClick("left", 86, 341, 1);隐身登陆
ElseIf $Status = 4 Then
MouseClick("left", 82, 195, 1)
MouseClick("left", 119, 312, 1);请勿打扰
ElseIf $Status = 3 Then
MouseClick("left", 84, 194, 1)
MouseClick("left", 118, 297, 1);忙碌
ElseIf $Status = 2 Then
MouseClick("left", 74, 193, 1)
MouseClick("left", 109, 273, 1);离开
ElseIf $Status = 1 Then
MouseClick("left", 85, 191, 1)
MouseClick("left", 114, 252, 1);Q我吧
Else
MouseClick("left", 84, 196, 1)
MouseClick("left", 88, 216, 1);我在线上
EndIf
If $Remember = 0 Then
MouseClick("left", 188, 196, 1)
MouseClick("left", 113, 196, 1);取消记住密码和自动登录
Else
MouseClick("left", 188, 196, 1)
MouseClick("left", 113, 196, 2);记住密码
EndIf
MouseClick("left", 295, 228, 1);登录
Else
Exit
EndIf
EndFunc ;==>_QQLogin
Func _WinWaitActivate($title, $text, $timeout = 0)
WinWait($title, $text, $timeout)
WinActivate($title, $text)
WinWaitActive($title, $text, $timeout)
EndFunc ;==>_WinWaitActivate 很难啊,继续围观 回复 3# lixiaolong
看了一下, 非常不错,有几点看法,首先抓标题QQ2010肯定不行!最好的办法是RUN返回PID,用PID返回窗体句柄,使用这个句柄,否则已经登录的QQ标题也是QQ2010,使用MouseClick 的时候,先将窗口置顶比较好,前3个函数比较好实现。因为用户框,和密码框是可以抓到控件的,;$Remember;$Autologin这不好判断打开的时候是否已经选中了, $Status用MouseClick 还行,不知道注册表能控制这个不能,没有这个经验。$Agent和$Servers还没有研究! 对QQ无爱的飘过。 只有头,没有内容? 万恶的腾讯取消了命令行方式登陆 有难度,有深度,有用途,不会 我想下载。如何... 观望高手出现。。 这个要不要和腾讯协商,我们可不是360啊 qq 无爱..{:face (411):} {:face (125):} 不错。论坛的高亮显示也很好。
页:
[1]
2