<p>#PRE_UseX64=n
#NoTrayIcon
#RequireAdmin
Global $idTitle <a href="mailto:=@OSVersion">=@OSVersion</a> & " " & @AutoItVersion
Global $hGui = GUICreate($idTitle, 420, 416)
GUISetState()
GUIRegisterMsg(0x0112, "WM_SYSCOMMAND")</p><p>While 1
Sleep(1)
If (MouseGetPos(0) > 792 And MouseGetPos(0) < 986 And _IsPressed("01")) Or (MouseGetPos(0) > 662 And MouseGetPos(0) < 790 And _IsPressed("01")) Then
Local $iWinWait = WinWait("U-KEY签名确认", "", 3)
If WinExists("U-KEY签名确认") Then
Local $iWinWaitClose = WinWaitClose("U-KEY签名确认")
If WinExists("浦发银行网银客户端") Then
Local $iBlockInput = BlockInput(1)
Local $EndTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC) + 10 * 1000
Do
Local $iWinActivate = WinActivate("浦发银行网银客户端")
Sleep(500)
MouseMove(620, 164, 0)
Sleep(300)
Local $NowTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC)
Until MouseGetCursor() = 0 Or $NowTimeTicks >= $EndTimeTicks
If MouseGetCursor() = 0 Then
Local $iMouseClick = MouseClick("left", 620, 164, 1, 0)
Local $iWinWait = WinWait("浦发网银弹窗", "", 5)
Sleep(300)
Local $iBlockInput = BlockInput(0)
Local $ac = WinActivate("浦发网银弹窗")
If StringLen($sPath) = 3 Then
_ScreenCapture_CaptureWnd($sPath & 'spdb' & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ".jpg", $ac)
Else
Local $iScrCaptur = _ScreenCapture_CaptureWnd($sPath & "" & 'spdb' & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & ".jpg", $ac)
EndIf
Sleep(300)
Local $iWinClose = WinClose("浦发网银弹窗")
Local $iBlockInput = BlockInput(1)
Local $EndTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC) + 5 * 1000
Do
WinActivate("浦发银行网银客户端")
MouseMove(1020, 430, 0)
Local $NowTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC)
Until MouseGetCursor() = 0 Or $NowTimeTicks >= $EndTimeTicks
MouseClick("left", 1020, 430, 1, 0)
Sleep(300)
Local $iBlockInput = BlockInput(0)
Else
Local $EndTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC) + 5 * 1000
Do
MouseMove(1130, 574, 0)
Local $NowTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC)
Until MouseGetCursor() = 0 Or $NowTimeTicks >= $EndTimeTicks
MouseClick("left", 1130, 574, 1, 0)
Sleep(1500)
Local $EndTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC) + 5 * 1000
Do
MouseMove(1086, 240, 0)
Local $NowTimeTicks = _TimeToTicks(@HOUR, @MIN, @SEC)
Until MouseGetCursor() = 0 Or $NowTimeTicks >= $EndTimeTicks
MouseClick("left", 1086, 240, 1, 0)
Sleep(100)
Local $iBlockInput = BlockInput(0)
EndIf
EndIf
EndIf
EndIf
WEnd</p><p>Func _TimeToTicks($iHours = @HOUR, $iMins = @MIN, $iSecs = @SEC)
If StringIsInt($iHours) And StringIsInt($iMins) And StringIsInt($iSecs) Then
Local $iTicks = 1000 * ((3600 * $iHours) + (60 * $iMins) + $iSecs)
Return $iTicks
Else
Return SetError(1, 0, 0)
EndIf
EndFunc ;==>_TimeToTicks</p><p>Func _IsPressed($sHexKey, $vDLL = "user32.dll")
Local $aCall = DllCall($vDLL, "short", "GetAsyncKeyState", "int", "0x" & $sHexKey)
If @error Then Return SetError(@error, @extended, False)
Return BitAND($aCall[0], 0x8000) <> 0
EndFunc ;==>_IsPressed</p><p>Func WM_SYSCOMMAND($hWnd, $Msg, $wParam, $lParam)
Local $iID = BitAND($wParam, 0xFFFF)
If ($iID = 0xF060) Then
Exit
EndIf
EndFunc ;==>WM_SYSCOMMAND
</p>