a84738941 发表于 2009-6-28 00:26:05

求助

原码
;--PostMessage User Defined Functions--
;--Written by Shynd for use with DA--

#include-once

Func _MakeLong($LoWord, $HiWord)
        Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF))
EndFunc

Func _MouseClick($hWnd, $button, $x, $y, $times=1, $delay=250)
        If $hWnd = 0 Then
                SetError(-1)
                Return
        EndIf
       
        Local $ix
        Local $lParam = _MakeLong($x, $y)
        Local $user32 = DllOpen("user32.dll")
       
        $button = StringLower($button)
       
        If $button = "left" Then
                For $ix = 1 To $times
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam)
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 1, "long", $lParam)
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", $lParam)
                       
                        If $ix < $times Then Sleep($delay)
                Next
        ElseIf $button = "right" Then
                For $ix = 1 To $times
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", $lParam)
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x204, "int", 2, "long", $lParam)
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x205, "int", 0, "long", $lParam)
                       
                        If $ix < $times Then Sleep($delay)
                Next
        Else
                SetError(-2)
                If $user32 <> -1 Then DllClose($user32)
                Return
        EndIf
        If $user32 <> -1 Then DllClose($user32)
EndFunc

Func _MouseUseSpell($hWnd, $x, $y, $selfcast=False, $sx=310, $sy=163)
        Local $user32 = DllOpen("user32.dll")
       
        ;Click the spell panel
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", _MakeLong(547, 400))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong(547, 400))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong(547, 400))
       
        ;Double-click the spell
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong($x, $y))
       
        ;If selfcast, click on character
        If $selfcast Then
                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", _MakeLong($sx, $sy))
                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong($sx, $sy))
                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong($sx, $sy))
        EndIf
       
        If $user32 <> -1 Then DllClose($user32)
EndFunc

Func _MouseUseSkill($hWnd, $x, $y)
        Local $user32 = DllOpen("user32.dll")
       
        ;Click the skill panel
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", _MakeLong(547, 370))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong(547, 370))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong(547, 370))
       
        ;Double-click the skill
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x200, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x201, "int", 0, "long", _MakeLong($x, $y))
        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x202, "int", 0, "long", _MakeLong($x, $y))
       
        If $user32 <> -1 Then DllClose($user32)
EndFunc

Func _SendKeys($hWnd, $keys)
        If $hWnd <= 0 Or StringLen($keys) = 0 Then
                SetError(-1)
                Return False
        EndIf
       
        $keys = StringUpper($keys)
       
        $keys = StringReplace($keys, "`", Chr(0xC0))
        $keys = StringReplace($keys, "~", Chr(0xC0))
        $keys = StringReplace($keys, "-", Chr(0xBD))
        $keys = StringReplace($keys, "=", Chr(0xBB))
        $keys = StringReplace($keys, "{ENTER}", Chr(0xD))
        $keys = StringReplace($keys, "{TAB}", Chr(0x9))
        $keys = StringReplace($keys, "{ESC}", Chr(0x1B))
        $keys = StringReplace($keys, "{F1}", Chr(0x70))
        $keys = StringReplace($keys, "{F2}", Chr(0x71))
        $keys = StringReplace($keys, "{F3}", Chr(0x72))
        $keys = StringReplace($keys, "{F4}", Chr(0x73))
        $keys = StringReplace($keys, "{F5}", Chr(0x74))
        $keys = StringReplace($keys, "{F6}", Chr(0x75))
        $keys = StringReplace($keys, "{F7}", Chr(0x76))
        $keys = StringReplace($keys, "{F8}", Chr(0x77))
        $keys = StringReplace($keys, "{F9}", Chr(0x78))
        $keys = StringReplace($keys, "{F10}", Chr(0x79))
        $keys = StringReplace($keys, "{F11}", Chr(0x7A))
        $keys = StringReplace($keys, "{F12}", Chr(0x7B))
        $keys = StringReplace($keys, "{SHIFT}", "+")
        $keys = StringReplace($keys, "{ALT}", "!")
       
        Local $i, $ret
        Local $shiftdown = False
        Local $user32 = DllOpen("user32.dll")
       
        For $i = 1 To StringLen($keys)
                If StringMid($keys, $i, 1) = "+" Then
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x100, "int", 0x10, "long", 0x002A0001)
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x100, "int", 0x10, "long", 0x402A0001)
                        $shiftdown = True
                        Sleep(1)
                        ContinueLoop
                Else
                        $ret = DllCall($user32, "int", "MapVirtualKey", "int", Asc(StringMid($keys, $i, 1)), "int", 0)
                        If IsArray($ret) Then
                                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x100, "int", Asc(StringMid($keys, $i, 1)), "long", _MakeLong(1, $ret))
                                Sleep(1)
                                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x101, "int", Asc(StringMid($keys, $i, 1)), "long", _MakeLong(1, $ret) + 0xC0000000)
                                Sleep(1)
                        EndIf
                EndIf
                If $shiftdown Then
                        DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x101, "int", 0x10, "long", 0xC02A0001)
                        Sleep(1)
                        $shiftdown = False
                EndIf
        Next
       
        If $user32 <> -1 Then DllClose($user32)
       
        Return True
EndFunc

Func _SendText($hWnd, $str)
        If $hWnd = 0 Or StringLen($str) = 0 Then
                SetError(-1)
                Return
        EndIf
       
        Local $user32 = DllOpen("user32.dll")
       
        For $i = 1 To StringLen($str)
                DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x102, "int", Asc(StringMid($str, $i, 1)), "long", 0)
                Sleep(1)
        Next
       
        If $user32 <> -1 Then DllClose($user32)
EndFunc

Func _SendChatMessage($hWnd, $str)
        If $hWnd = 0 Or StringLen($str) = 0 Then
                SetError(-1)
                Return
        EndIf
       
        _SendKeys($hWnd, "{ENTER}")
        Sleep(50)
        _SendText($hWNd, $str)
        Sleep(30)
        _SendKeys($hWNd, "{ENTER}")
EndFunc

Func _SendWhisper($hWnd, $name, $str)
        If $hWnd = 0 Or StringLen($str) = 0 Or StringLen($name) = 0 Then
                SetError(-1)
                Return
        EndIf
       
        _SendKeys($hWnd, "{ESC}+" & Chr(0xDE))
        Sleep(50)
        _SendText($hWnd, $name)
        Sleep(1)
        _SendKeys($hWNd, "{ENTER}")
        Sleep(30)
        _SendText($hWnd, $str)
        Sleep(30)
        _SendKeys($hWnd, "{ENTER}")
EndFunc

Func _ArrowKey($hWnd, $key)
        If $hWnd <= 0 Or ( $key <> "left" And $key <> "right" And $key <> "up" And $key <> "down" ) Then
                SetError(-1)
                Return
        EndIf
       
        Local $wParam, $lParam, $ret
       
        If $key = "left" Then
                $wParam = 0x25
                $lParam = 0x14B0001
        ElseIf $key = "right" Then
                $wParam = 0x27
                $lParam = 0x14D0001
        ElseIf $key = "down" Then
                $wParam = 0x28
                $lParam = 0x1500001
        ElseIf $key = "up" Then
                $wParam = 0x26
                $lParam = 0x1480001
        EndIf
       
        Local $user32 = DllOpen("user32.dll")
       
        $ret = DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x100, "int", $wParam, "int", $lParam)
        If $ret = 0 Then
                SetError(-2)
                If $user32 <> -1 Then DllClose($user32)
                Return
        EndIf
       
        Sleep(2)
       
        $ret = DllCall($user32, "int", "PostMessage", "hwnd", $hWnd, "int", 0x101, "int", $wParam, "int", ($lParam + 0xC0000000))
        If $ret = 0 Then
                SetError(-3)
                If $user32 <> -1 Then DllClose($user32)
                Return
        EndIf
       
        If $user32 <> -1 Then DllClose($user32)
EndFunc

Func _PostMessage($hWnd, $msgID, $wParam, $lParam)
        Local $ret = DllCall("user32.dll", "int", "PostMessage", "hwnd", $hWnd, "int", $msgID, "int", $wParam, "int", $lParam)
        If IsArray($ret) Then
                Return $ret
        Else
                SetError(-1)
                Return False
        EndIf
EndFunc
我改的au3
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:\桌面\2007624111228169\Apple系列-水晶按钮篇2\Item Icon.ico
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#Include <PostMessage_UDF.au3>
#Include <Array.au3>


$flag = False
$nums=""

$hWnd1 = ""
$hWnd2 = ""
$hWnd3 = ""
$hWnd4 = ""
$hWnd5 = ""
$hWnd6 = ""
$hWnd7 = ""
$hWnd8 = ""
$hWnd9 = ""
$hWnd10= ""

$hWndS1 = ""
$hWndS2 = ""
$hWndS3 = ""
$hWndS4 = ""
$hWndS5 = ""
$hWndS6 = ""
$hWndS7 = ""
$hWndS8 = ""
$hWndS9 = ""
$hWndS10 = ''

$checksum=""
$total=0
$all=0
$now=0
$ifsmallmap =True
$x1=601
$y1=256
$x2=156
$y2=256

func setWins()
        if $hWnd1<>"" Then
                $var = WinList("开心")
                $tmp=1
                For $i = 1 to $var
                        ;MsgBox(4096,"",$i)
                        if $hWndS1==$var[$i] or $hWndS10==$var[$i] Then
                                ;MsgBox(4096,"", "成功自动识别队长")
                        else
                                Switch $tmp
                                        case 1
                                                $hWnd2 = ControlGetHandle($var[$i], "", "#327701")
                                        case 2
                                                $hWnd3 = ControlGetHandle($var[$i], "", "#327701")
                                        case 3
                                                $hWnd4 = ControlGetHandle($var[$i], "", "#327701")
                                        case 4
                                                $hWnd5 = ControlGetHandle($var[$i], "", "#327701")
                                        case 5
                                                $hWnd6 = ControlGetHandle($var[$i], "", "#327701")
                                        case 6
                                                $hWnd7 = ControlGetHandle($var[$i], "", "#327701")
                                        case 7
                                                $hWnd8 = ControlGetHandle($var[$i], "", "#327701")
                                        case 8
                                                $hWnd9 = ControlGetHandle($var[$i], "", "#327701")
                                        ;case 9
                                                ;$hWnd10 = ControlGetHandle($var[$i], "", "#327701")
                                        ;case 10
                                                ;$hWnd = ControlGetHandle($var[$i], "", "#327701")
                                EndSwitch
                                $tmp = $tmp+1
                        EndIf
                next
                MsgBox(4096,"", "成功自动识别开心窗口")
        Else
                MsgBox(4096,"", "先按ctrl+F1/F10记录队长")
        EndIf
EndFunc

$hWndS1 = WinGetHandle("开心")
$hWnd1 = ControlGetHandle("开心", "", "#327701")

Func setRuns()
        $var = WinList("开心")
        $tmp = 1
        For $i = 1 to $var
                ;MsgBox(4096,"",$i)
                if $hWndS1==$var[$i] or $hWndS10==$var[$i] Then
                        ;MsgBox(4096,"", "成功自动识别队长")
                else
                        Switch $tmp
                                case 1
                                        $hWndS2 = $var[$i]
                                case 2
                                        $hWndS3 = $var[$i]
                                case 3
                                        $hWndS4 = $var[$i]
                                case 4
                                        $hWndS5 = $var[$i]
                                case 5
                                        $hWndS6 = $var[$i]
                                case 6
                                        $hWndS7 = $var[$i]
                                case 7
                                        $hWndS8 = $var[$i]
                                case 8
                                        $hWndS9 = $var[$i]
                                ;case 9
                                        ;$hWnd10 = ControlGetHandle($var[$i], "", "#327701")
                                ;case 10
                                        ;$hWnd = ControlGetHandle($var[$i], "", "#327701")
                        EndSwitch
                        $tmp = $tmp+1
                EndIf
        next
EndFunc

;dim $userView
;$userView = 4
;$userView = 180
;$userView = 215
;$userView = 234
;$userView = 270

;_MouseClick(ControlGetHandle("开心", "", "#327701"),"left",23,$userView)
;Exit

;WinActivate($hWndS)
;Send("!z")
HotKeySet("{f11}", "stop")
HotKeySet("^{f12}", "clearWin")
HotKeySet("^{f11}", "setWins")
HotKeySet("!{f11}", "setRuns")

HotKeySet("^{f1}", "getHwin1")
HotKeySet("^{f2}", "getHwin2")
HotKeySet("^{f3}", "getHwin3")
HotKeySet("^{f4}", "getHwin4")
HotKeySet("^{f5}", "getHwin5")
HotKeySet("^{f6}", "getHwin6")
HotKeySet("^{f7}", "getHwin7")
HotKeySet("^{f8}", "getHwin8")
HotKeySet("^{f9}", "getHwin9")
HotKeySet("^{f10}", "getHwin10")

HotKeySet("!{f2}", "setRun2")
HotKeySet("!{f3}", "setRun3")
HotKeySet("!{f4}", "setRun4")
HotKeySet("!{f5}", "setRun5")
HotKeySet("!{f6}", "setRun6")
HotKeySet("!{f7}", "setRun7")
HotKeySet("!{f8}", "setRun8")
HotKeySet("!{f9}", "setRun9")


if StringLen($hWnd1)>0 Then
        $flags=MsgBox(4,"是否自动开始","检查到开心OL窗口,是否自动开始脚本,选否可自己按F11启动")
        if $flags=6 Then
                $var = WinList("开心")
                ;MsgBox(4096,"", $var)
                if $var<6 Then
                        setWins()
                EndIf
                stop()
        EndIf
EndIf

$flags=MsgBox(4,"是否点击中间","是否点击中间(选否点击小地图)?")
;MsgBox(4096,"", $flags)
        if $flags==6 Then
                $ifsmallmap = false
               
                $x1=698
                $y1=176
                $x2=735
                $y2=176
        EndIf


$runTime=15
$runTime2=55
$runTime3=55
While 1
        if $flag Then
                lclickWinOther($x1,$y1)
                Sleep(920)
                lclickWinOther($x2,$y2)

                Sleep(1000)
                $runTime = $runTime+1
                $runTime2 = $runTime2+1
                $runTime3 = $runTime3+1
                if $runTime>10 Then
                        $runTime=0
                        ;点击自动战斗
                        ;lclickWin($hWnd,538, 95)
                        ;lclickWin($hWnd,522, 84)
                        lclickWin($hWnd10,522,84)
                        lclickWin($hWnd1,522, 84)
                        lclickWin($hWnd2,522, 84)
                        lclickWin($hWnd3,522, 84)
                        lclickWin($hWnd4,522, 84)       
                        lclickWin($hWnd5,522, 84)
                        lclickWin($hWnd6,522, 84)
                        lclickWin($hWnd7,522, 84)
                        lclickWin($hWnd8,522, 84)
                        lclickWin($hWnd9,522, 84)

                EndIf
                lclickWinOther(509, 148);释放牢笼
                if $runTime3>2 Then
                        $runTime3=50
                        ;队长点击离开按钮
                        lclickWinOther(364,322)
                        lclickWinOther(414, 310)
                EndIf
                if $runTime2>50 Then
                        $runTime2=0
                        ;点击离开按钮 但队长不点击
                        if $hWndS2 <>"" Then
                                lclickWin($hWnd2,364, 322)
                        EndIf
                        if $hWndS3 <>"" Then
                                lclickWin($hWnd3,364, 322)
                        EndIf
                        if $hWndS4 <>"" Then
                                lclickWin($hWnd4,364, 322)
                        EndIf
                        if $hWndS5 <>"" Then
                                lclickWin($hWnd5,364, 322)
                        EndIf
                        if $hWndS6 <>"" Then
                                lclickWin($hWnd6,364, 322)
                        EndIf
                        if $hWndS7 <>"" Then
                                lclickWin($hWnd7,364, 322)
                        EndIf
                        if $hWndS8 <>"" Then
                                lclickWin($hWnd8,364, 322)
                        EndIf
                        if $hWndS9 <>"" Then
                                lclickWin($hWnd9,364, 322)
                        EndIf
                EndIf
        EndIf
WEnd





Func clearWin()
        $flags=MsgBox(4,"清楚所有窗口记忆?","清楚所有窗口记忆?")
        if $flags=6 Then
                ;$hWnd=""
                ;$hWnd1=""
                $hWnd2=""
                $hWnd3=""
                $hWnd4=""
                $hWnd5=""
                $hWnd6=""
                $hWnd7=""
                $hWnd8=""
                $hWnd9=""
                ;$hWnd10=""
                ;$hWndS1 = ""
                $hWndS2 = ""
                $hWndS3 = ""
                $hWndS4 = ""
                $hWndS5 = ""
                $hWndS6 = ""
                $hWndS7 = ""
                $hWndS8 = ""
                $hWndS9 = ""
               
                $all = 0
        EndIf       
EndFunc

Func stop()
        $flag = Not $flag
        if $flag = False then
                MsgBox(4096,"", "已经暂停,下次按下F11启动.")
        ;Else
                ;WinMove($hWndS, "", 0, 0)
                ;$checksum = PixelChecksum(5,0, 10,50)
        EndIf
EndFunc

func lclickWin($w,$x,$y)
        if StringLen($w)>0 Then
                _MouseClick($w,"left",$x,$y)
        EndIf
EndFunc

func lclickWinOther($x,$y)
        if $hWndS1 <>"" Then
                lclickWin($hWnd1,$x,$y)
        EndIf
        if $hWndS2 <>"" Then
                lclickWin($hWnd2,$x,$y)
        EndIf
        if $hWndS3 <>"" Then
                lclickWin($hWnd3,$x,$y)
        EndIf
        if $hWndS4 <>"" Then
                lclickWin($hWnd4,$x,$y)
        EndIf
        if $hWndS5 <>"" Then
                lclickWin($hWnd5,$x,$y)
        EndIf
        if $hWndS6 <>"" Then
                lclickWin($hWnd6,$x,$y)
        EndIf
        if $hWndS7 <>"" Then
                lclickWin($hWnd7,$x,$y)
        EndIf
        if $hWndS8 <>"" Then
                lclickWin($hWnd8,$x,$y)
        EndIf
        if $hWndS9 <>"" Then
                lclickWin($hWnd9,$x,$y)
        EndIf
        ;if $hWndS <>"" Then
        ;        lclickWin($hWnd,$x,$y)
        ;EndIf
        if $hWndS10 <>"" Then
                lclickWin($hWnd10,$x,$y)
        EndIf
EndFunc



func getHwin0()
        getHwin(0)
EndFunc
func getHwin1()       
        getHwin(1)
EndFunc
func getHwin2()       
        getHwin(2)
EndFunc
func getHwin3()       
        getHwin(3)
EndFunc
func getHwin4()       
        getHwin(4)
EndFunc
func getHwin5()       
        getHwin(5)
EndFunc
func getHwin6()       
        getHwin(6)
EndFunc
func getHwin7()       
        getHwin(7)
EndFunc
func getHwin8()       
        getHwin(8)
EndFunc
func getHwin9()       
        getHwin(9)
EndFunc
func getHwin10()       
        getHwin(10)
EndFunc

func setRun1()       
        setRun(1)
EndFunc
func setRun2()       
        setRun(2)
EndFunc
func setRun3()       
        setRun(3)
EndFunc
func setRun4()       
        setRun(4)
EndFunc
func setRun5()       
        setRun(5)
EndFunc
func setRun6()       
        setRun(6)
EndFunc
func setRun7()       
        setRun(7)
EndFunc
func setRun8()       
        setRun(8)
EndFunc
func setRun9()       
        setRun(9)
EndFunc

func getHwin($user)
        Switch $user
        case 0
                $hWndS = WinGetHandle("开心")
                $hWnd = ControlGetHandle("开心", "", "#327701")
        case 10
                $hWndS10 = WinGetHandle("开心")
                $hWnd10 = ControlGetHandle("开心", "", "#327701")
        case 1
                $hWndS1 = WinGetHandle("开心")
                $hWnd1 = ControlGetHandle("开心", "", "#327701")
        case 2
                $hWnd2 = ControlGetHandle("开心", "", "#327701")
        case 3
                $hWnd3 = ControlGetHandle("开心", "", "#327701")
        case 4
                $hWnd4 = ControlGetHandle("开心", "", "#327701")
        case 5
                $hWnd5 = ControlGetHandle("开心", "", "#327701")
        case 6
                $hWnd6 = ControlGetHandle("开心", "", "#327701")
        case 7
                $hWnd7 = ControlGetHandle("开心", "", "#327701")
        case 8
                $hWnd8 = ControlGetHandle("开心", "", "#327701")
        case 9
                $hWnd9 = ControlGetHandle("开心", "", "#327701")
        EndSwitch
EndFunc

func setRun($user)
        Switch $user
        ;case 1
        ;        $hWndS1 = WinGetHandle("开心")
        case 2
                $hWndS2 = WinGetHandle("开心")
        case 3
                $hWndS3 = WinGetHandle("开心")
        case 4
                $hWndS4 = WinGetHandle("开心")
        case 5
                $hWndS5 = WinGetHandle("开心")
        case 6
                $hWndS6 = WinGetHandle("开心")
        case 7
                $hWndS7 = WinGetHandle("开心")
        case 8
                $hWndS8 = WinGetHandle("开心")
        case 9
                $hWndS9 = WinGetHandle("开心")
        EndSwitch
EndFunc

请问为什么老不执行
While 1
        if $flag Then
                lclickWinOther($x1,$y1)
                Sleep(920)
                lclickWinOther($x2,$y2)

                Sleep(1000)
                $runTime = $runTime+1
                $runTime2 = $runTime2+1
                $runTime3 = $runTime3+1
                if $runTime>10 Then
                        $runTime=0
                        ;点击自动战斗
                        ;lclickWin($hWnd,538, 95)
                        ;lclickWin($hWnd,522, 84)
                        lclickWin($hWnd10,522,84)
                        lclickWin($hWnd1,522, 84)
                        lclickWin($hWnd2,522, 84)
                        lclickWin($hWnd3,522, 84)
                        lclickWin($hWnd4,522, 84)       
                        lclickWin($hWnd5,522, 84)
                        lclickWin($hWnd6,522, 84)
                        lclickWin($hWnd7,522, 84)
                        lclickWin($hWnd8,522, 84)
                        lclickWin($hWnd9,522, 84)

                EndIf
                lclickWinOther(509, 148);释放牢笼
                if $runTime3>2 Then
                        $runTime3=50
                        ;队长点击离开按钮
                        lclickWinOther(364,322)
                        lclickWinOther(414, 310)
                EndIf
                if $runTime2>50 Then
                        $runTime2=0
                        ;点击离开按钮 但队长不点击
                        if $hWndS2 <>"" Then
                                lclickWin($hWnd2,364, 322)
                        EndIf
                        if $hWndS3 <>"" Then
                                lclickWin($hWnd3,364, 322)
                        EndIf
                        if $hWndS4 <>"" Then
                                lclickWin($hWnd4,364, 322)
                        EndIf
                        if $hWndS5 <>"" Then
                                lclickWin($hWnd5,364, 322)
                        EndIf
                        if $hWndS6 <>"" Then
                                lclickWin($hWnd6,364, 322)
                        EndIf
                        if $hWndS7 <>"" Then
                                lclickWin($hWnd7,364, 322)
                        EndIf
                        if $hWndS8 <>"" Then
                                lclickWin($hWnd8,364, 322)
                        EndIf
                        if $hWndS9 <>"" Then
                                lclickWin($hWnd9,364, 322)
                        EndIf
                EndIf
        EndIf
WEnd

请高手指点下谢谢

kn007 发表于 2009-6-28 09:40:12

又是一伸手党。。。

好长啊,没时间看,能说下什么功能不?

记录窗口?
页: [1]
查看完整版本: 求助