5.1 鼠标管理
a). MouseClick 点击鼠标
MouseClick ( "button" [, x, y [, clicks = 1 [, speed = 10]]] )
示例:MouseClick($MOUSE_CLICK_LEFT)
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_LEFT ("left")
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary")
speed 1(fastest)~100(slowest)
b). MouseClickDrag //按下鼠标并拖动
//注:到目的地后会松开,登陆滑块需要使用keydown/keyup
MouseClickDrag ( "button", x1, y1, x2, y2 [, speed = 10] )
示例:MouseClickDrag($MOUSE_CLICK_LEFT, 0, 200, 600, 700)
button
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary")
x1, y1 The x/y coords to start the drag operation from.
x2, y2 The x/y coords to end the drag operation at.
speed 1(fastest)~100(slowest)
c). MouseDown MouseDown ( "button" ) //当前位置按下鼠标
示例: MouseDown($MOUSE_CLICK_LEFT) ; Set the left mouse button state as down.
Sleep(100)
MouseUp($MOUSE_CLICK_LEFT) ; Set the left mouse button state as up.
The button to click: Constants are defined in "AutoItConstants.au3".
$MOUSE_CLICK_RIGHT ("right")
$MOUSE_CLICK_MIDDLE ("middle")
$MOUSE_CLICK_MAIN ("main")
$MOUSE_CLICK_MENU ("menu")
$MOUSE_CLICK_PRIMARY ("primary")
$MOUSE_CLICK_SECONDARY ("secondary")
d). MouseUp ( "button" ) //松开指定鼠标键
e). MouseGetPos MouseGetPos ( [dimension] ) //当前鼠标位置,返回数组,X/Y坐标
Local $aPos = MouseGetPos()
f). MouseMove MouseMove ( x, y [, speed = 10] ) //移动鼠标
示例:MouseMove(700, 700, 0) ;
speed 1(fastest)~100(slowest)
g). MouseWheel MouseWheel ( "direction" [, clicks = 1] ) //滑动鼠标滚轮
示例:MouseWheel($MOUSE_WHEEL_UP, 10)
The direction to move the wheel: Constants are defined in "AutoItConstants.au3".
$MOUSE_WHEEL_UP ("up")
$MOUSE_WHEEL_DOWN ("down")
clicks [optional] The number of times to move the wheel. Default is 1.
5.2 windows窗口管理
a). WinActivate ( "title" [, "text"] ); //激活指定窗口(焦点)
b). WinActive ( "title" [, "text"] ) //窗口是否存在,且激活状态
c). WinClose ( "title" [, "text"] ) //关闭窗口
d). WinExists ( "title" [, "text"] ) //窗口是否存在
e). WinGetHandle ( "title" [, "text"] ) //获取窗口句柄
f). WinGetProcess ( "title" [, "text"] ) //窗口对应的进程Id
g). WinGetState ( "title" [, "text"] ) //窗口状态
返回值:
Success: a value indicating the state of the window. Multiple values are added together so use BitAND() to examine the part you are interested in:
$WIN_STATE_EXISTS (1) = Window exists
$WIN_STATE_VISIBLE (2) = Window is visible
$WIN_STATE_ENABLED (4) = Window is enabled
$WIN_STATE_ACTIVE (8) = Window is active
$WIN_STATE_MINIMIZED (16) = Window is minimized
$WIN_STATE_MAXIMIZED (32) = Window is maximized
Failure: 0 and sets the @error flag to non-zero if the window is not found.
//示例代码
Local $iState = WinGetState($hWnd)
; Check if the Notepad window is minimized and display the appropriate message box.
If BitAND($iState, 16) Then
h). WinKill ( "title" [, "text"] ) //强制关闭
i). WinList ( ["title" [, "text"]] ) //已打开的窗口列表
j). WinWait ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口出现
返回值:
The array returned is two-dimensional and is made up as follows:
$aArray[0][0] = Number of windows returned
$aArray[1][0] = 1st window title
$aArray[1][1] = 1st window handle (HWND)
$aArray[2][0] = 2nd window title
$aArray[2][1] = 2nd window handle (HWND)
//示例-展示所有窗口
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Retrieve a list of window handles.
Local $aList = WinList()
; Loop through the array displaying only visable windows with a title.
For $i = 1 To $aList[0][0]
If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1])
EndIf
Next
EndFunc
k). WinWaitActive ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口激活
l). WinWaitClose ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口不存在
m). WinWaitNotActive ( "title" [, "text" [, timeout = 0]] ) //等待直到指定窗口非激活状态
n). WinSetState ( "title", "text", flag ) //设置窗口状态,显示,隐藏,最大化,最小化等
示例代码: WinSetState($hWnd, "", @SW_HIDE)
The "show" flag of the executed program:
@SW_HIDE = Hide window
@SW_SHOW = Shows a previously hidden window
@SW_MINIMIZE = Minimize window
@SW_MAXIMIZE = Maximize window
@SW_RESTORE = Undoes a window minimization or maximization
@SW_DISABLE = Disables the window
@SW_ENABLE = Enables the window