SetMouseDelay

设置每次鼠标移动或单击后发生的延迟.

PrevDelay := SetMouseDelay(Delay , "Play")

参数

Delay

类型: 整数

时间(单位为毫秒). 指定 -1 表示无延时, 或 0 表示最小延时(然而, 如果使用了 Play 参数, 则 0 和 -1 都表示无延时).

Play

类型: 字符串

如果为空或省略, 将延时应用于传统的 SendEvent 模式. 否则, 请指定单词 Play 将该延迟应用于 SendPlay 模式. 如果脚本从未使用此参数, 则 SendPlay 的延时始终为 -1.

返回值

整数: 整数

函数返回以前的设置.

备注

默认情况下, 对于传统的 SendEvent 模式, 每次鼠标移动或由 Click, MouseMove, MouseClickMouseClickDrag 产生的点击, 系统会自动进行 10 毫秒的短暂延迟(休眠). 这样做是为了提高脚本的可靠性, 因为有时窗口无法及时处理快速涌来的大量鼠标事件. 对于 SendPlay 模式, 默认延时为 -1.

在使用 SendInput 模式(这是默认模式) 时, SetMouseDelay 无法生效; 在该模式下, 鼠标移动或点击之间不会产生延迟.

由于操作系统计时系统的精确度, 延时可能会被向上取整到最近的 10 或 15 的倍数.

对于 SendEvent 模式, 延时为 0 时实际内部会执行 Sleep(0), 这会将脚本时间片段的剩余部分提供给可能需要它的任何其他进程. 如果没有其他进程需要, 则 Sleep(0) 相当于完全没有延时. 与之相比, 延时为 -1 将完全没有延时.

内置变量 A_MouseDelay 包含了 Send/SendEvent 模式的当前设置. A_MouseDelayPlay 包含了 SendPlay 模式的当前设置.

内置变量 A_MouseDelay 包含了 SendEvent 模式的当前设置值, 而 A_MouseDelayPlay 则包含了 SendPlay 模式的当前设置值. 它们也可以被赋予新的值, 而无需调用 SetMouseDelay.

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

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

示例

使每次鼠标移动或点击后发生的延迟尽可能的小.

SetMouseDelay 0