找回密码
 加入
搜索
查看: 6198|回复: 9

[AU3基础] qq2013版本的WinActivate问题

  [复制链接]
发表于 2012-12-31 13:54:26 | 显示全部楼层 |阅读模式
本帖最后由 sunspot2004 于 2013-1-6 10:34 编辑

貌似 WinActivate("QQ2013") 无法激活啊
因为autoit刚刚学 就是为了要晒qq太阳用的 呵呵
相关文章找了一堆 无解
所以求教 感谢
=代码================分割线============
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <ProgressConstants.au3>
#include <SliderConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <Array.au3>
#region ### START Koda GUI section ### Form=
;~ 创建主界面
$Form1 = GUICreate("QQ批量登录工具", 473, 355, 192, 124)
$ListView1 = GUICtrlCreateListView("", 8, 8, 449, 305, _
                BitOR($GUI_SS_DEFAULT_LISTVIEW, _
                $WS_HSCROLL, $WS_VSCROLL), _
                BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, _
                $LVS_EX_CHECKBOXES))
$Button1 = GUICtrlCreateButton("登   录", 96, 320, 81, 25)
$Button2 = GUICtrlCreateButton("使用说明", 257, 320, 81, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

Local $j
;~ For $j = 0 To 9
;~IniWrite(@ScriptDir & "\自动登陆配置信息.ini", $j, "QQ号", "2121")
;~IniWrite(@ScriptDir & "\自动登陆配置信息.ini", $j, "密码", "00")
;~ Next
;~ 书写配置文件,填写入QQ号码与密码


_Main()

Func _Main()                ;~ 主函数
        _GUICtrlListView_AddColumn($ListView1, "QQ号码", 140)
        _GUICtrlListView_AddColumn($ListView1, "密码", 140)
        Local $i
        Local $QQDate[5][3]        ;定义二维数组$QQDate储存QQ帐和密码等信息
        Local $QQStart                ;定义QQ起始位置
        Local $QQStart2                ;定义QQ起始位置
        $QQStart = IniRead(@ScriptDir & "\自动登陆配置信息.ini", "运行值", "运行到", "0")
        $QQStart2 = $QQStart + 4
        For $i = $QQStart To $QQStart2
                $QQDate[$i-$QQStart][1] = IniRead(@ScriptDir & "\自动登陆配置信息.ini", $i, "QQ号", "")
                $QQDate[$i-$QQStart][2] = IniRead(@ScriptDir & "\自动登陆配置信息.ini", $i, "密码", "")
        Next                ;读取配置信息

        Local $QQStart3
        $QQStart3 = $QQStart2+1
        If $QQStart3 = 90 Then
                $QQStart3 = 0
        EndIf
        IniDelete (@ScriptDir & "\自动登陆配置信息.ini", "运行值" )
        IniWrite(@ScriptDir & "\自动登陆配置信息.ini", "运行值", "运行到",$QQStart3)

        If IsArray($QQDate) Then
                _GUICtrlListView_BeginUpdate($ListView1)
                _GUICtrlListView_DeleteAllItems($ListView1)
                For $i = 0 To 4
                        GUICtrlCreateListViewItem($QQDate[$i][1] & "|" & "******", $ListView1)
                Next
                _GUICtrlListView_EndUpdate($ListView1)
        EndIf        ;根据配置文件信息创建ListView列表
        For $i = 0 To 4
                If Not $QQDate[$i][1] = "" Or Not $QQDate[$i][2] = "" Then
                        _GUICtrlListView_SetItemChecked($ListView1, $i)
                EndIf
        Next                ;设置QQ号和密码都不为空的项为“选中“状态
        
        While 1        ;开启循环模式
                $nMsg = GUIGetMsg()
                Switch $nMsg
                        Case $GUI_EVENT_CLOSE
                                Exit
                        Case $Button1        ;单击登录
                                For $i = 0 To 9
                                        If _GUICtrlListView_GetItemChecked($ListView1, $i) Then        ;如果选中,则运行QQ,并填入相应的QQ号码与密码
                                                Run("D:\Program Files\Tencent\QQ\Bin\QQ.exe")
                                                Sleep(500)
                                                ;新增相对坐标点击
                                                $Title = "QQ2013"
                                                ;$a = WinGetCaretPos()
                                                MouseClick("left", "510", "278") ;执行鼠标点击
                                                Sleep(500)
                                                WinActivate($Title, "")
                                                SendKeepActive($Title)                                             
                                                $WinPosArray = WinGetPos($Title)                ;获取QQ2013的坐标
                                                $Width = $WinPosArray[0] + 150
                                                $Height = $WinPosArray[1] + 169
                                                ;新增结束
                                                Sleep(100)
                                                MouseClick("left", $Width, $Height) ;执行鼠标点击
                                                Sleep(100)
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Send("{Del}")
                                                Sleep(100)
                                                Send($QQDate[$i][1])
                                                Sleep(100)
                                                MouseClick("left", $Width, $Height+20) ;执行鼠标点击
                                                Sleep(200)
                                                Send($QQDate[$i][2])
                                                Sleep(100)
                                                Send("{enter}")
                                                Sleep(3000)
                                                WinSetState($Title, "", @SW_HIDE)
                                                Sleep(2000)
                                        EndIf        ;登录完成
                                Next
                EndSwitch
        WEnd
EndFunc   ;==>_Main
=============代码 分割线 =============
整体结构是有个贴子关于2012qq他好像是激活有问题的中的源代码
我仅仅修改了根据相对坐标点击这个  
当然现在因为无法激活 我点击了一下 屏幕中间
大家可以搜qq2012 就可以搜到那个贴子了  先感谢那位兄弟 qq271859852
 楼主| 发表于 2012-12-31 13:54:59 | 显示全部楼层
2012等低版本都没问题的  好像腾讯 又搞了新花样
发表于 2012-12-31 15:33:25 | 显示全部楼层
楼主说下都找了哪些相关的文章,做试过了些啥没有成功的??
发表于 2012-12-31 23:49:52 | 显示全部楼层
2013 有点郁闷的
 楼主| 发表于 2013-1-1 21:30:30 | 显示全部楼层
因为2013启动基本上都是中间 所以现在搞成先鼠标移动到中间 然后点击一下
然后 就可以正常激活WinActivate("QQ2013")  窗口了
然后帐号通过相对坐标可以正常输入  结果发现 密码输入又出问题了 通过相对坐标 光标点到密码框了 但是还是无法输入啊 残念 残念
发表于 2013-1-2 08:56:58 | 显示全部楼层
回复 5# sunspot2004


    是的我也研究了 搞不定的
 楼主| 发表于 2013-1-4 15:24:06 | 显示全部楼层
呵呵 因为本来就是初学 而且目标很明确 为了挂几个不值钱的QQ号码 给下一代用的
08年 因为这个事情 啃了一个星期delphi 写了一个挂qq的  总算也用了4-5年了 哈哈
能接触到autoit 3 起码现在2012版本的用用还蛮不错  安顿了
发表于 2013-1-5 08:13:38 | 显示全部楼层
回复 7# sunspot2004


    delphi 不错的哦
发表于 2013-1-5 14:47:39 | 显示全部楼层
LZ上源码看看
 楼主| 发表于 2013-1-6 10:29:56 | 显示全部楼层
本帖最后由 sunspot2004 于 2013-1-6 10:32 编辑

基本都是别人的东西  这个autoit3 我仅仅是接触皮毛 连个数组怎么调用格式 我都不懂的 还要靠查文档一个一个来的
呵呵 见谅
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 09:42 , Processed in 0.082966 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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