找回密码
 加入
搜索
查看: 6061|回复: 11

[网络通信] 关于qq登录框

 火.. [复制链接]
发表于 2011-1-19 15:17:12 | 显示全部楼层 |阅读模式



想开机让qq自动登录,于是模拟键盘自动输入

Run("qq.exe")
WinWait("QQ2010")
Send("qq账号")
sleep(600)
Send("{tab}")
Send("qq密码")
Sleep(1800)
Send("{ENTER}")


可是这样不行,不能输入,是不是qq有个控件阻止程序输入,怎么处理?多谢啦

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-1-19 15:27:02 | 显示全部楼层
本帖最后由 gzh888666 于 2011-1-19 15:29 编辑

首先你没有激活窗口,
然后就是默认的焦点好像不是用户名控件!
Run ("S:\QQ\Bin\QQ.exe")
Sleep(100)
 If WinWaitActive("[CLASS:TXGuiFoundation]","") Then
        WinActivate("[CLASS:TXGuiFoundation]","")
        Sleep(10)
        ControlCommand("QQ2010","","Edit1","Check")
        Sleep(1000)
Send("{TaB 8}")
Sleep(100)
Send("{del 9}")
Sleep(100)
Send("你的QQ号码")
Sleep(10)
Send("{tab}")
    ControlCommand("QQ2010","","Edit1","Check")
        Sleep(500)

        Send ("你的QQ密码")
        Sleep(100)
        Send ("{TaB}")
        Sleep(100)
        Send ("{ENTER}")
        Sleep(100)
        Send ("{DOWN 6}")
        Sleep(300)
        Send ("{ENTER}")
        Sleep(100)
        Send ("{TaB}")
        Sleep(500)
        Send ("{ENTER}")

        
EndIf
 楼主| 发表于 2011-1-19 15:28:11 | 显示全部楼层
窗口激活的条件下也不行,这个图我就是随便截图的
发表于 2011-1-19 15:30:20 | 显示全部楼层
刚试了一下,这样可以
 楼主| 发表于 2011-1-19 15:37:29 | 显示全部楼层
谢谢2楼,看样子就是我太菜,别的都行,就是qq这个,开始用了ControlSend 也不行,多谢二楼了,我好好研究下您这个源码,很多个地方我都看不明白,我太菜了,呵呵
发表于 2011-1-19 15:39:36 | 显示全部楼层
发表于 2011-1-19 16:32:19 | 显示全部楼层
有点意思哈,什么都变自动化了,呵呵
发表于 2011-1-19 17:03:22 | 显示全部楼层
$qq1 = "12345678"
$pw1 = "1111111"
If WinExists("QQ2010", "") Then WinActivate("QQ2010", "")
ControlClick("QQ2010", "", "[CLASS:ATL:30A561F0]", "left", 1);选中帐号
Send("{DEL}");清除帐号
Send($qq1);输入帐号
ControlClick("QQ2010", "", "Edit1", "left", 1);选中密码
Send($pw1);输入密码
Send("{enter}");登陆
发表于 2011-1-19 23:54:07 | 显示全部楼层
回复 8# lixiaolong

学习了,我还以为抓不到QQ控件呢!汗
还有一个问题想问小龙,怎么设置它登录状态呢?比如隐身
发表于 2011-1-20 01:22:22 | 显示全部楼层
本帖最后由 lixiaolong 于 2011-1-20 11:42 编辑

回复 9# gzh888666

设置状态的控件抓不到.

下面是使用Send实现隐身登陆.
$qq1 = "12345678" ;帐号
$pw1 = "1111111" ;密码
If WinExists("QQ2010", "") Then
        WinActivate("QQ2010", "")
        ControlClick("QQ2010", "", "[CLASS:ATL:30A561F0]", "left", 1);选中帐号
        Send("{DEL}");清除帐号
        Send($qq1);输入帐号
        ControlClick("QQ2010", "", "Edit1", "left", 1);选中密码
        Send($pw1, 1);输入密码
        Send("{TAB}");焦点到“状态”
        Send("{ENTER}");打开状态菜单
        Send("{UP}");选择隐身登陆 ;~ Send("{DOWN}");选择我在线上
        Send("{ENTER}");确定
        Send("{TAB}");焦点到“登陆”
        Send("{ENTER}");确定登陆
EndIf


MouseClick实现隐身登陆.
Opt("WinWaitDelay",100)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)

$qq1 = "12345678" ;帐号
$pw1 = "1111111" ;密码
Run("C:\Program Files\Tencent\QQ\Bin\QQ.exe")

While 1
If WinExists("QQ2010", "") Then
       WinActivate("QQ2010","")
        ControlClick("QQ2010", "", "[CLASS:ATL:30A561F0]", "left", 1);选中帐号
        Send("{DEL}");清除帐号
        Send($qq1);输入帐号
        ControlClick("QQ2010", "", "Edit1", "left", 1);选中密码
        Send($pw1, 1);输入密码
        MouseClick("left",85,191,1);打开状态菜单
                MouseClick("left",88,344,1);选择隐身                        
                MouseClick("left",295,228,1);按登陆按钮
                ExitLoop
        EndIf
WEnd
发表于 2011-1-20 16:04:17 | 显示全部楼层
呵呵,学习了。。
发表于 2011-1-26 13:04:02 | 显示全部楼层
试了下以上代码,可以成功,,牛人,,谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-2 05:00 , Processed in 0.086215 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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