Click [v1.0.43+]

优质
小牛编辑
129浏览
2023-12-01

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

这里有一些常见用法的例子 (所有逗号都是可选的):

Click (单独的)在鼠标光标的当前位置点击一次鼠标左键.
Click 44, 55在 44, 55 坐标 (基于 CoordMode) 处点击一次鼠标左键.
Click right 44, 55与上述相同, 不过这里点击鼠标右键.
Click 2在光标的当前位置点击两次鼠标左键 (即双击).
Click down按下鼠标左键不放.
Click up right释放鼠标右键.
Click %x% %y%由于 click 不支持 表达式, 所以变量应该括在百分号中.

Click 后可以跟零个或多个下列项. 每个项之间至少需要一个空格, tab 和/或逗号分隔. 除了ClickCount必须放在坐标后面(如果使用了坐标),各项可以按任何顺序出现。

X, Y: 在点击前, 鼠标光标要移动到的 x/y 坐标. 坐标相对于活动窗口, 除非曾使用 CoordMode 改变了这个设置. 如果省略, 那么使用光标的当前位置.

按钮名称:Left(默认)、Right、Middle(或仅使用这些名称的首个字母),或鼠标的第四或第五个按钮(X1 或 X2)。注意: 与 MouseClick 不同, 这里左键和右键的行为在所有系统上都是一致的, 即使用户通过系统控制面板交换了按钮的功能.

鼠标滚轮:指定 WheelUp 或 WU 来向上转动滚轮(远离您的方向),指定 WheelDown 或 WD 来向下转动滚轮(靠近您的方向)。在 v1.0.48+, 还可以指定 WheelLeft (或 WL) 或 WheelRight (或 WR) (不过它们在 Windows Vista 以前的系统上无效). 对于 ClickCount (下面的), 指定滚轮要转动的格数. 然而, 有些程序不接受鼠标滚轮转动的格数 ClickCount 大于 1 的情况. 对于这些程序, 请参考下面的例子使用 Loop:

Loop 5
    Click WheelUp

ClickCount:鼠标要点击的次数(例如:Click 2Click 100, 200, 2)。如果省略, 那么点击鼠标一次. 如果指定了坐标, 那么 ClickCount 必须放在坐标后面. 指定零(0)来移动鼠标而不进行点击(例如:Click 200, 0, 100)。

DownUp: 这两个单词通常省略, 此时每次点击包括按下事件和接着的弹起事件. 否则, 指定 Down (或字母 D) 来按下鼠标按钮不放. 之后, 使用单词 Up (或字母 U) 来释放鼠标按钮.

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

备注

Click 通常比 MouseClick 更好, 因为它不受用户通过系统控制面板对左右键功能交换的设置的影响.

Click 使用的发送模式由 SendMode 设置. 要忽略此模式进行特殊的点击,请使用特定的 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 不会自动释放修饰键 (Control, Alt, Shift 和 Win). 例如,如果现在 Control 键处于按下的状态,那么 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  ; 释放鼠标右键.

最后更新:

类似资料

  • 不检查空变量是否为环境变量(建议所有新脚本使用)。 #NoEnv 在脚本的任意位置指定 #NoEnv 这行语句可以避免脚本检查空变量是否为环境变量。例如: #NoEnv MsgBox %WinDir% 上面这个例子中不会检索 "WinDir" 环境变量(尽管这可以通过在脚本顶部附近加上 WinDir := A_WinDir 来解决)。 建议所有的新脚本使用 #NoEnv,因为: 每当表达式或命令中

  • 让 Send 和 SendInput 或 SendPlay 具有相同的功能而不是默认的(SendEvent)。也使 Click 和 MouseMove/Click/Drag 使用指定的方法。 SendMode Input|Play|Event|InputThenPlay 首个参数为下列单词的其中一个: Event: 这是所有脚本开始时默认使用的. 它让 Send, SendRaw, Click 和

相关阅读