Click

在指定坐标处点击鼠标按钮. 它还可以按住鼠标按钮, 转动鼠标滚轮或移动鼠标.

Click Options

参数

Options

指定一个或多个以下组件: Coords, WhichButton, ClickCount, DownOrUp 和/或 Relative. 如果省略所有项目, 在鼠标光标的当前位置执行单次左键点击.

组件可以分布在多个参数中, 也可以组合成一个或多个字符串. 每个参数可以是单个数字组件, 也可以是包含零个或多个组件的字符串, 其中每个组件与下一个组件之间至少用一个空格, 制表符和/或逗号分隔(所有组件都在字符串中). 例如, Click 100, 200, "R D" 等同于 Click "100 200 R D", 两者都有效. 空或省略的参数将被忽略, 额外的逗号也会被忽略.

警告: Click 100 200 等同于 Click "100200", 因为在调用函数之前, 这两个数字将被连接起来.

组件可以以任何顺序出现, 除了 ClickCount 必须出现在 Coords 的右边(如果存在).

Coords: 如果省略, 则使用鼠标的当前位置. 否则, 请指定在点击前, 鼠标光标要移动到的 X 和 Y 坐标. 例如, Click "100 200" 在特定位置点击鼠标左键. 坐标相对于活动窗口的客户端区域, 除非曾使用 CoordMode 更改了这个设置. 如果省略, 则使用光标的当前位置.

WhichButton: 如果省略, 默认为 Left(鼠标左键). 否则, 请指定 Left, Right, Middle(或只是这些名称的首字母); X1(第四个按钮) 或 X2(第五个按钮). 例如, Click "Right" 在鼠标光标的当前位置点击鼠标右键. Left 和 Right 对应鼠标的主按钮和次按钮. 如果用户通过系统设置交换了按钮, 按钮的物理位置被替换, 但效果保持不变.

WhichButton 也可以是 WheelUp(或 WU) 来向上转动滚轮(远离你), 或 WheelDown(或 WD) 来向下转动滚轮(朝向你). 也可以指定 WheelLeft(或 WL) 或 WheelRight(或 WR). ClickCount 为指定滚轮要转动的格数. 然而, 有些程序不接受鼠标滚轮转动的格数 ClickCount 大于 1 的情况. 对于这些程序, 可以通过 Loop 等方法多次使用 Click 函数.

ClickCount: 如果省略, 默认为 1. 否则, 请指定单击鼠标按钮或转动鼠标滚轮的次数. 例如, Click 2 在鼠标光标位置双击. 如果省略, 那么点击鼠标一次. 如果指定了 Coords, 那么 ClickCount 必须放在坐标后面. 指定零(0) 来移动鼠标而不进行点击; 例如, Click "100 200 0".

DownOrUp: 如果省略, 此时每次点击包括按下事件和接着的弹起事件. 否则, 指定单词 Down(或字母 D) 来按下鼠标按钮不放. 之后, 使用单词 Up(或字母 U) 来释放鼠标按钮. 例如, Click "Down" 按下鼠标左键不放.

Relative: 如果省略, 则将 X 和 Y 坐标使用为绝对位置. 否则, 指定单词 Rel 或 Relative 会把指定的 X 和 Y 坐标视为距离当前鼠标位置的偏移. 换句话说, 会把光标从当前位置往右移动 X 像素(负值则往左) 且往下移动 Y 像素(负值则往上).

备注

Click 函数使用 SendMode 设置的发送方法. 要忽略此模式进行特殊的点击, 使用带有 {Click} 的特定的 Send 函数, 如此例所示: SendEvent "{Click 100 200}".

要进行 shift-click 或 control-click, 使用 Send 中的 Click 通常是最简单的. 例如:

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 函数防止用户对鼠标的任何物理操作扰乱由鼠标命令生成的模拟鼠标事件. 不过, 在 SendInputSendPlay 模式通常不需要这个函数, 因为它们会自动延迟用户对鼠标的物理操作到发送之后.

在每次鼠标按下和弹起后都会有一个自动的延时(除了 SendInput 模式和转动鼠标滚轮). 使用 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"