SetMouseDelay

AutoHotkey

SetMouseDelay

设置每次鼠标移动或点击后自动的延时。

SetMouseDelay, Delay [, Play]

参数

Delay

毫秒表示的时间, 可以为 表达式. 使用 -1 表示无延时,而 0 表示最小延时(然而如果使用了 Play 参数,则 0 和 -1 都表示无延时)。如果未设置, 则对于传统的 SendEvent 模式默认延时为 10 而对于 SendPlay 模式 为 -1.

Play
[v1.0.43+]

单词 Play 会把上面的延时应用于 SendPlay 模式 而不是传统的 SendEvent 模式. 如果脚本没有使用此参数, 则 SendPlay 模式的延时总是为 -1.

备注

在每次 ClickMouseMove/Click/Drag 生成的鼠标移动或点击后会自动进行短暂的延时 (除非处于 SendInput 模式). 这样做提高了脚本的可靠性, 因为窗口有时无法响应快速的鼠标事件流.

由于操作系统计时系统的精确度, 延时可能会被向上取整到最近的 10 或 15 的倍数. 例如,在大部分 Windows XP 系统上介于 1 和 10(含边界)的延时都相当于 10 或 15(可能也适用于 2k)。

延时为 0 时实际内部会执行 Sleep(0), 这样会将脚本时间片的剩余部分分配给其他需要的进程. 如果没有进程需要, 那么 Sleep(0) 相当于完全没有延时. 与之相比, 延时为 -1 则从不休眠.

内置变量 A_MouseDelay 包含了 Send/SendEvent 模式的当前设置 (没有用于 SendPlay 模式 的内置变量).

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

相关

SetDefaultMouseSpeed, Click, MouseMove, MouseClick, MouseClickDrag, SendMode, SetKeyDelay, SetControlDelay, SetWinDelay, SetBatchLines

示例

SetMouseDelay, 0