#IfTimeout

AutoHotKey

#IfTimeout [AHK_L 8+]

设置计算单个 #If 表达式可以使用的最大时间.

#IfTimeout Timeout

参数

Timeout

全局有效的超时时间值, 单位为毫秒.

备注

设置超时时间是为了防止表达式计算时间过长从而延迟了键盘输入. 如果超过了设定的超时时间值,表达式会继续计算,但键盘钩子将假定表达式结果为假而继续执行.

如果脚本中未使用此指令, 那么程序会默认设置为 1000 ms .

注意系统使用它自己的超时时间. 系统超时时间值定义为 DWORD 类型值 LowLevelHooksTimeout, 并保存在下列的注册表键中:

HKEY_CURRENT_USER\Control Panel\Desktop

如果超过了系统的超时时间,那么系统可能会停止调用脚本的键盘钩子,从而防止钩子热键在重新注册或脚本重新加载前停止工作. 钩子通常会在热键挂起或恢复挂起的过程中重新注册.

如果某个热键具有多个 #If 变体的指令, 超时也许会独立地应用到每个变体, 更有可能导致超时时间被超过.这种情况可能会在以后的版本中进行修改.

相关

#If

示例

#IfTimeout 10 ; 设置超时时间为 10 ms.