在指定的坐标处模拟鼠标点击,同样也可以模拟按住鼠标、滚动滚轮、鼠标移动。
这里有一些一般用法的例子(所有逗号都是可省略的):
Click (无参数) | 在鼠标当前位置点击鼠标左键。 |
Click 44, 55 |
在坐标 44, 55 处点击鼠标左键(以 coordmode/坐标模式 的设置为基础)。 |
Click right 44, 55 | 和上面一样,不过是点击鼠标右键 |
Click 2 | 在鼠标当前位置点击鼠标左键两次(同双击) |
Click down | 按住鼠标左键不放 |
Click up right | 松开鼠标右键 |
Click %x% %y% | 因为 Click 命令不支持 expressions/表达式 ,变量必须用两个百分号包住。 |
Click 之后可以跟0个或多个参数,各个参数之间用至少一个空格、tab、“\”或逗号分隔。各个参数之间的顺序不限,除了 ClickCount ,它必须出现在坐标的后面(如果使用了坐标的话)。
X, Y:鼠标需要点击或移动到目标位置的横坐标和纵坐标。坐标默认是相对于当前的窗口,除非设置了不同的 CoordMode/坐标模式 。如果省略该参数,则默认为当前鼠标位置。
Button Name:Left/左键(默认),Right/右键,Middle/中键(或取这些单词的首字母),某些鼠标有第三个或第四个键( X1 和 X2 )的话,必须要 Windows2000 以上的版本才支持。注意:和 MouseClick/鼠标点击 不一样,这里的 Left/左键(默认)和 Right/右键在所有的系统设置中都是一致的,无论你是否在控制面板中将鼠标左右键进行了对调。
Mouse Wheel(这个参数在 Windows2000 之前的系统上是无效的):使用 WheelUp 或者 WU 向上滚动滚轮(远离你),使用 WheelDown 或 WD 向下滚动滚轮(面向你)。在 1.0.48+ 的版本中,WheelLeft(或WL) 或者 WheelRight(或WR) 也可以被使用(但是它们在 Windows Vista 以前的操作系统中是无效的)。对于后续的 ClickCount 参数,它指定了滚动滚轮的次数。不过有些程序不接受 ClickCount 大于1的情况,对于这些程序,可以使用一个如下的 Loop/循环 来解决:
Loop 5 Click WheelUp
ClickCount:鼠标点击次数(例如:Click 2 ... Click 100, 200, 2)。如果省略,默认点击一次。如果使用了坐标参数,ClickCount 必须出现在坐标参数之后。使用 0 表示只移动鼠标到指定坐标而不点击(例如:Click 100, 200, 0)。
Down 或 Up:这些参数一般是省略的,因为一次鼠标点击过程本身包含了鼠标按下和鼠标松开两个事件。如果需要的话,使用 Down(或者字母 D)表示点击之后按住鼠标不放,之后再使用 Up(或者字母 U)来释放鼠标。
Relative:使用 Rel 或者 Relative ,表示以当前鼠标坐标为坐标原点,也就是说,鼠标会根据设置的坐标参数从当前位置开始往右移 X 像素(如果设置了负值则是往左移),以及往下移 Y 像素(如果设置了负值则是往上移)。
Click 一般比 MouseClick/鼠标点击 更推荐使用,因为它不受控制面板中对鼠标左右键设置的影响。
Click 的指令发送模式由 SendMode/发送模式 来控制。如果需要进行特殊的点击,请使用特殊的 Send 命令,可以参看例子:SendEvent {Click, 100, 200}
如果需要模拟 Shift + 点击,或者 Ctrl + 点击,使用 Send {Click} 方法是最简单的了。例如:
Send +{Click 100, 200} ; Shift + 左键点击 Send ^{Click 100, 200, Right} ; Ctrl + 右键点击
和 Send/发送 不同,Click 不会自动释放功能键(Ctrl、Alt、Shift、Win)。例如,如果 Ctrl 当前被设置为按下状态,直接使用 Click 会产生 Ctrl + 点击 的效果,而 Send {Click} 会产生普通点击的效果。
在某些游戏中,SendPlay 模式 比其它的模式具有更好的兼容性。在某些程序或者游戏中,如果鼠标移动速度过快,它们可能无法识别鼠标的移动,这时候可以使用 SetDefaultMouseSpeed/设置鼠标默认移动速度 来减慢鼠标的移动速度(不过只能在 SendEvnet 模式 中有效)。
BlockInput/阻止输入 命令可以防止用户在脚本运行过程中因移动或点击鼠标而造成脚本错误。不过在 SendInput 和 SendPlay 模式中一般不需要使用这个命令,因为它们本身就自动推迟了用户对鼠标的操作。
可以使用 SetMouseDelay/设置鼠标延时 来设置鼠标每次点击的时候按下和松开的时间间隔(在 SendInput模式 和模拟滚轮滚动的时候无效)。
Send {Click}, SendMode, CoordMode, SetDefaultMouseSpeed, SetMouseDelay, MouseClick, MouseClickDrag, MouseMove, ControlClick, BlockInput
Click ; 在鼠标当前位置点击鼠标左键。 Click 100, 200 ; 在指定的坐标处点击鼠标左键。 Click 100, 200, 0 ; 移动鼠标而不点击。 Click 100, 200 right ; 点击鼠标右键。 Click 2 ; 双击。 Click down ; 点击鼠标左键并且按住不放。 Click up right ; 松开鼠标右键。