Click 点击[v1.0.43+]
在指定坐标处单击鼠标。也可以按下某个鼠标按键、滚动鼠标滚轮或者是移动鼠标。
Click [, Options]
参数
-
Options
指定以下选项中的 0 个或多个:Coords、WhichButton、ClickCount、DownOrUp 或 Relative。每个选项使用至少 1 个空格键、Tab键或逗号分隔。除了ClickCount 必须出现在 Coords 的后面,其余选项的顺序可以任意。
Coords: 鼠标单击前需要移动到的 X 坐标和 Y 坐标。例如:
Click, 100 200
,将在指定位置单击鼠标左键。坐标是相对于活动窗口的,除非使用 CoordMode 进行了修改。如果不指定坐标,则使用光标当前位置。WhichButton: Left (默认值)、Right、Middle(或者只提供首字母),或者第4个或第5个鼠标按键(X1 或 X2)。例如
Click, Right
,在光标当前位置单击鼠标右键。和 MouseClick 不同,左键和右键在所有系统中的表现是一致的,即使用户在控制面板中更换了左右手习惯。WhichButton 还可以是WheelUp 或 WU,使得滚轮向上滚动(远离自己),或者是WheelDown 或 WD ,使得滚轮向下滚动(朝向自己)。 [v1.0.48+]: 还可以指定为 WheelLeft (或 WL) 或 WheelRight (或 WR),但是要求系统不能比 Windows Vista 系统还老。此时的 ClickCount 指的是滚轮滚动的格数。但是,有的应用并不接受鼠标滚轮的 ClickCount 取值大于1。这种情况下,可以使用 Loop 循环来多次执行 Click 命令。ClickCount: 单击鼠标的次数。例如
Click, 2
表示在光标当前位置双击。不写时表示单击一次。如果指定了坐标,则必须在它后面指定单击次数。将次数指定为0表示只移动鼠标,不进行点击,如Click, 100 200 0
。Down / Up: 该选项通常不写,表示鼠标按下后接着被释放。否则,指定为 Down (或字母 D) 表示按下鼠标而不释放。然后使用 Up (或字母 U) 来释放鼠标按键。例如
Click, Down
为按下鼠标左键不松开。Relative: Rel 或 Relative 将指定的 X 和 Y 坐标视为相对于当前鼠标位置。换句话说,光标将从当前位置向右移动(负值则向左移动) X 像素、向下移动(负值则向上移动)Y 像素。
说明
和 MouseClick 相比更推荐使用 Click 命令,因为它会自动转换,即使用户在系统控制面板切换了鼠标左右键。
Click 命令使用由 SendMode 设定的发送方法。如果要为某一次点击覆盖此模式,则结合使用特定的Send 命令和{Click},如: SendEvent {Click 100 200}
。
要执行 shift-click 或 control-click,通常 通过 Send 点击 是最简单的。例如:
Send +{Click 100 200} ; Shift+LeftClick Send ^{Click 100 200 Right} ; Control+RightClick
和 Send 不同,Click 命令并不会自动释放修饰键(Ctrl, Alt, Shift 和 Win)。例如,如果现在 Ctrl 是按下状态, Click
将产生 control-click 的效果,而Send {Click}
的效果为普通的单击。
与其他模式相比,SendPlay 模式 能够在更多种类游戏中成功地产生鼠标事件。此外,有些应用和游戏在鼠标移动过快时难以进行跟踪,这时可以使用 SetDefaultMouseSpeed 来放慢鼠标速度(仅限 SendEvent 模式下)。
可使用BlockInput 命令来拦截用户的鼠标动作,以防用户影响由鼠标命令产生的模拟鼠标事件。但是,通常并不需要这么做,SendInput 和 SendPlay 模式下会自动地将用户实际操作推迟到模拟操作后发生。
鼠标 click-down 和 click-up 事件后自动会有一个延时(SendInput mode 和滚动滚轮除外)。使用SetMouseDelay 修改延时的时长。
相关命令
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
CoordMode 坐标模式
为不同命令设置坐标模式:相对于活动窗口或相对于屏幕。
CoordMode, TargetType , RelativeTo
参数
-
TargetType
影响的目标类型。可选项包含以下几种:
ToolTip: 影响 ToolTip.
Pixel: 影响 PixelGetColor, PixelSearch 和 ImageSearch.
Mouse: 影响 MouseGetPos, Click 和 MouseMove/Click/Drag.
Caret: 影响内置变量 A_CaretX 和 A_CaretY.
Menu: 影响 Menu Show 命令,当该命令指定了坐标时。
-
RelativeTo
指定 TargetType 相对于哪块区域。可指定为以下选项(不指定时默认为 Screen):
Screen: 坐标值相对于桌面(整个屏幕)。
Relative: 坐标值相对于活动窗口。
Window [v1.1.05+]: 与 Relative 同义,其意思更加明确,推荐使用。
Client [v1.1.05+]: 坐标值相对于活动窗口的工作区(client area),即不包含窗口的标题栏、菜单和边界。工作区坐标更不依赖于操作系统版本和主题样式。
说明
如果未使用此命令,所有命令(除非另有说明,如 WinMove 和 InputBox)使用的坐标均相对于活动窗口。
每个新启动的 线程 (如 热键, 自定义菜单项 或 定时 子程序) 在启动时都会使用该命令的默认值。可以在代码的自动执行部分(位于脚本的顶部)利用命令修改默认值。
[v1.1.23+] 内置变量 A_CoordMode 包含了当前坐标配置。
相关
Click, MouseMove, MouseClick, MouseClickDrag, MouseGetPos, PixelGetColor, PixelSearch, ToolTip, Menu
示例
显示工具提示时使用绝对屏幕坐标:
CoordMode, ToolTip, Screen
省略不写时效果也一样,因为默认值就是 "Screen":
CoordMode, ToolTip
鼠标点击时使用绝对坐标:
CoordMode, Mouse, Screen
鼠标点击时使用相对坐标:
CoordMode, Mouse, Relative CoordMode, Mouse, Window