SendMode

使 Send 等同于 SendEvent 或 SendPlay, 而不是默认的(SendInput). 也使 Click 和 MouseMove/Click/Drag 使用指定的方法.

SendMode Mode

参数

Mode

类型: 字符串

指定以下单词之一:

Event:Send 切换到 SendEvent 方法, 适用于 SendText, Click, MouseMove, MouseClickMouseClickDrag.

Input: 使 Send, SendText, Click, MouseMove, MouseClickMouseClickDrag 使用 SendInput 方法. 已知限制:

InputThenPlay: 与上面相同, 不同之处在于当 SendInput 不可用时, 它并没有退回到 Event 模式, 而是恢复为 Play 模式(如下). 当 SendInput 不可用时, 这也会导致 SendInput 函数本身返回到 Play 模式.

Play: 切换到 SendPlay 方法, 适用于 Send, SendText, Click, MouseMove, MouseClickMouseClickDrag. 已知限制:

返回值

类型: 字符串

函数返回以前的设置; Event, Input, InputThenPlay 或 Play.

备注

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

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

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

如果在脚本启动中使用了 SendMode, 那么它还会影响键盘和鼠标重映射. 特别是, 如果你将 SendMode "Play" 与重新映射一起使用, 请参阅 SendPlay 的重映射限制.

内置变量 A_SendMode 包含当前的设置.

每个新运行的线程(如 热键, 自定义菜单项定时子程序) 都会以此函数的默认设置开始. 这个默认设置可以通过在脚本启动中使用此函数来改变.

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

示例

让 Send 成为 SendInput 的代名词, 但如果 SendInput 不可用, 则回到 SendPlay.

SendMode "InputThenPlay"