sunspot2004 发表于 2012-12-31 13:54:26

qq2013版本的WinActivate问题

本帖最后由 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        ;定义二维数组$QQDate储存QQ帐和密码等信息
        Local $QQStart                ;定义QQ起始位置
        Local $QQStart2                ;定义QQ起始位置
        $QQStart = IniRead(@ScriptDir & "\自动登陆配置信息.ini", "运行值", "运行到", "0")
        $QQStart2 = $QQStart + 4
      For $i = $QQStart To $QQStart2
                $QQDate[$i-$QQStart] = IniRead(@ScriptDir & "\自动登陆配置信息.ini", $i, "QQ号", "")
                $QQDate[$i-$QQStart] = 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] & "|" & "******", $ListView1)
                Next
                _GUICtrlListView_EndUpdate($ListView1)
      EndIf        ;根据配置文件信息创建ListView列表
      For $i = 0 To 4
                If Not $QQDate[$i] = "" Or Not $QQDate[$i] = "" 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 + 150
                                                $Height = $WinPosArray + 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])
                                                Sleep(100)
                                                MouseClick("left", $Width, $Height+20) ;执行鼠标点击
                                                Sleep(200)
                                                Send($QQDate[$i])
                                                Sleep(100)
                                                Send("{enter}")
                                                Sleep(3000)
                                                WinSetState($Title, "", @SW_HIDE)
                                                Sleep(2000)
                                        EndIf        ;登录完成
                              Next
                EndSwitch
      WEnd
EndFunc   ;==>_Main
=============代码 分割线 =============
整体结构是有个贴子关于2012qq他好像是激活有问题的中的源代码
我仅仅修改了根据相对坐标点击这个
当然现在因为无法激活 我点击了一下 屏幕中间
大家可以搜qq2012 就可以搜到那个贴子了先感谢那位兄弟 qq271859852

sunspot2004 发表于 2012-12-31 13:54:59

2012等低版本都没问题的好像腾讯 又搞了新花样

annybaby 发表于 2012-12-31 15:33:25

楼主说下都找了哪些相关的文章,做试过了些啥没有成功的??

xin266 发表于 2012-12-31 23:49:52

2013 有点郁闷的

sunspot2004 发表于 2013-1-1 21:30:30

因为2013启动基本上都是中间 所以现在搞成先鼠标移动到中间 然后点击一下
然后 就可以正常激活WinActivate("QQ2013")窗口了
然后帐号通过相对坐标可以正常输入结果发现 密码输入又出问题了 通过相对坐标 光标点到密码框了 但是还是无法输入啊 残念 残念

xin266 发表于 2013-1-2 08:56:58

回复 5# sunspot2004


    是的我也研究了 搞不定的

sunspot2004 发表于 2013-1-4 15:24:06

呵呵 因为本来就是初学 而且目标很明确 为了挂几个不值钱的QQ号码 给下一代用的
08年 因为这个事情 啃了一个星期delphi 写了一个挂qq的总算也用了4-5年了 哈哈
能接触到autoit 3 起码现在2012版本的用用还蛮不错安顿了

xin266 发表于 2013-1-5 08:13:38

回复 7# sunspot2004


    delphi 不错的哦

xiaowo 发表于 2013-1-5 14:47:39

LZ上源码看看

sunspot2004 发表于 2013-1-6 10:29:56

本帖最后由 sunspot2004 于 2013-1-6 10:32 编辑

基本都是别人的东西这个autoit3 我仅仅是接触皮毛 连个数组怎么调用格式 我都不懂的 还要靠查文档一个一个来的
呵呵 见谅
页: [1]
查看完整版本: qq2013版本的WinActivate问题