SendMode [v1.0.43+]

Send 和 SendInput 或 SendPlay 具有相同的功能而不是默认的(SendEvent). 也使 Click 和 MouseMove/Click/Drag 使用指定的方法.

SendMode, Mode

参数

Mode

指定以下单词之一:

Event: 使 Send, SendRaw, Click, MouseMove, MouseClickMouseClickDrag 使用 SendEvent 模式.

Input:Send, SendRaw, Click, MouseMove, MouseClickMouseClickDrag 切换到 SendInput 方法.
已知限制:

InputThenPlay [v1.0.43.02+]: 与上面相同, 不过当 SendInput 不可用时恢复为下面的 Play 模式而不是退回到 Event 模式. 这也会使得 SendInput 命令自身在 SendInput 不可用时恢复到 Play 模式.

Play:Send, SendRaw, ClickMouseMove, MouseClickMouseClickDrag 切换到 SendPlay 方法. 已知限制:

备注

如果 SendMode 没有使用, 则默认的模式为 Event.

由于 SendMode 也改变了 Click, MouseMove, MouseClickMouseClickDrag 的模式, 所以您有机会为特殊的鼠标事件使用不同的模式. 实现这种操作最便捷的方法是使用 {Click}. 例如:

SendEvent {Click 100 200}  ; SendEvent 使用更老更传统的方法进行点击.

如果在自动执行段(脚本的顶部) 使用了 SendMode, 那么它还会影响键盘和鼠标重映射. 尤其是您在重映射时使用了 SendMode Play, 请参阅 SendPlay 的重映射限制.

[v1.1.23+]: 内置变量 A_SendMode 包含当前的设置.

每个新运行的线程(例如 热键, 自定义菜单项定时子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段(脚本的顶部) 使用此命令可以改变这个默认设置.

Send, SetKeyDelay, SetMouseDelay, Click, MouseClick, MouseClickDrag, MouseMove

示例

让 Send 与 SendInput 同义. 由于其卓越的速度和可靠性, 推荐新脚本使用.

SendMode Input

让 Send 与 SendInput 同义, 但如果 SendInput 不可用, 则回退到 SendPlay.

SendMode InputThenPlay