SendLevel [v1.1.06+]

控制热键和热字串是否忽略模拟的键盘和鼠标事件.

SendLevel, Level

参数

Level

介于 0 和 100 之间的整数, 可以为表达式.

一般说明

如果 SendLevel 没有使用, 则默认级别为 0.

默认情况下, 钩子热键热字串会忽略由任何 AutoHotkey 脚本生成的键盘和鼠标事件. 在某些情况下它可用于覆盖默认行为; 例如, 可使用重映射键来触发其他热键. SendLevel 和 #InputLevel 提供了实现此目的的方法.

SendLevel 设置由当前脚本线程生成的事件级别, 而 #InputLevel 设置它下面所有热键或热字串的级别. 要让脚本生成的事件触发钩子热键或热字串, 则此事件的发送级别必须高于热键或热字串的输入级别.

兼容性:

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

每个新运行的热键或热字串线程初始的发送级别等于此热键或热字串的输入级别. 每个新运行的其他线程(例如 自定义菜单项定时子程序) 都会以默认设置开始, 一般为 0, 不过可以在自动执行段中使用此命令进行改变.

如果在自动执行段中使用 SendLevel, 它还会影响键盘和鼠标重映射.

早于 [v1.1.06] 的 AutoHotkey 版本会表现的就像 #InputLevel 0SendLevel 0 那样.

#InputLevel, Send, Click, MouseClick, MouseClickDrag

示例

SendLevel 允许触发另一个脚本的热键和热字符串, 而通常情况下是不会的.

SendLevel 1
SendEvent btw{Space} ; 生成 "by the way ".

; 这可以在其他脚本中定义:
::btw::by the way