找回密码
 加入
搜索
查看: 4562|回复: 1

[求购] 100元修改个阿里旺旺群群发脚本 因为旺旺升级了不能使用了

[复制链接]
发表于 2013-4-29 18:22:51 | 显示全部楼层 |阅读模式
悬赏1金钱未解决
#RequireAdmin
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Outfile=test.exe
#PRE_UseUpx=n
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
Opt("SendKeyDownDelay", 20)  
Global $wwpath, $idlist,$str
$str=FileRead(@ScriptDir&"\发送内容.txt")
$wwpath = IniRead(@ScriptDir & "\name.ini", "设置", "旺旺安装路径", "")
If Not FileExists($wwpath & "\AliIM.exe") Then
        MsgBox(0, "错误", "指定的旺旺主程序不存在,请修改配置文件内相应项目~!")
        Exit
EndIf
$idlist = IniReadSection(@ScriptDir & "\name.ini", "帐号=密码")
For $i = 1 To $idlist[0][0]
        Dim $lasttitle = "", $Buttonid = 0, $wwuser, $wwpassword, $wwpid, $logonHWND, $userHWND, $n, $Buttonid = 0, $msgHWND, $title, $lasttitle = "lasttitle"
        Dim $pos,$winpos
        $wwuser = $idlist[$i][0]
        $wwpassword = $idlist[$i][1]
;~         删除安装目录残留的用户属性文件,防止群列表树显示不对应
        DirRemove($wwpath & "\profiles\cnalichn" & $wwuser, 1)
        $wwpid = Run($wwpath & "\AliIM.exe")
        $logonHWND = WinWait("阿里旺旺2012", "", 10)
        If Not IsHWnd($logonHWND) Then
                MsgBox(0, "错误", "运行旺旺安装程序后为发现登陆窗口,请检查安装路径设置是否正确~!")
                ExitLoop
        EndIf
        ControlClick($logonHWND, "", "StandardButton2")
        Send("{DOWN}")
        Send("{ENTER}")
        ControlSetText($logonHWND, "", "EditComponent2", $wwuser)
        ControlSend($logonHWND, "", "ATL:Edit1", $wwpassword)
;~         以下为点登陆按钮代码,由于自动发送容易出现密码错误,所以做两次重试
        BlockInput(1)
        Sleep(300)
        $pos=ControlGetPos($logonHWND, "", "StandardButton8")
        $winpos=WinGetPos($logonHWND)
        ControlClick($logonHWND, "", "StandardButton8")
        Sleep(3000)
        If Not WinExists($wwuser & "-阿里旺旺2012") Then MouseClick("left", $winpos[0]+$pos[0]+Int($pos[2]/2), $winpos[1]+$pos[1]+Int($pos[3]/2),1,0)
        BlockInput(0)
        $userHWND = WinWait($wwuser & "-阿里旺旺2012", "", 20)
        If Not IsHWnd($userHWND) Then
                MsgBox(0, "错误", "未检测到登陆后的旺旺窗口,请检查帐号密码设置是否正确~!")
                ExitLoop
        EndIf
        Sleep(3000)
;~         循环检测我的群按钮的控件id(此id为动态的)
        For $n = 1000 To 2999
                If StringInStr(ControlGetText($userHWND, "", $n), "群组") Then
                        $Buttonid = $n
                        ExitLoop
                EndIf
        Next
        If $Buttonid = 0 Then
                MsgBox(0, "错误", "获取(群组)按钮控件ID失败~!")
                ExitLoop
        EndIf
        ControlClick($userHWND, "", $Buttonid)
        WinActivate($userHWND)
        ControlFocus($userHWND, "", "WWUI.SuperListView2")
        ControlSend($userHWND, "", "WWUI.SuperListView2", "{HOME}")
        ControlSend($userHWND, "", "WWUI.SuperListView2", "{DOWN}")
        ControlSend($userHWND, "", "WWUI.SuperListView2", "{DOWN}")
        Opt("WinTitleMatchMode", 2)
        While 1
                WinActivate($userHWND)
                ControlFocus($userHWND, "", "WWUI.SuperListView2")
                ControlSend($userHWND, "", "WWUI.SuperListView2", "{DOWN}")
                ControlSend($userHWND, "", "WWUI.SuperListView2", "{ENTER}")
                $msgHWND = WinWait("(群号:", "", 5)
                If Not IsHWnd($msgHWND) Then ExitLoop
                $title = WinGetTitle($msgHWND, "")
                If $title = $lasttitle Then ContinueLoop
                ControlSetText($msgHWND, "", "RichEditComponent1", $str)
;~                 ControlSend($msgHWND, "", "RichEditComponent1", "^V")
                ControlSend($msgHWND, "", "RichEditComponent1", "{ENTER}")
                Sleep(500)
                WinClose($msgHWND)
                $lasttitle = $title
        WEnd
        Opt("WinTitleMatchMode", 1)
        ProcessClose($wwpid)
Next
ProcessClose($wwpid)
Exit

 楼主| 发表于 2013-4-29 18:25:07 | 显示全部楼层
联系QQ605911893
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-21 21:30 , Processed in 0.070265 second(s), 17 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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