# #UseHook

强制使用钩子来实现部分或全部键盘热键。

#UseHook [On|Off]

#### 参数

On|Off | #UseHook 后不带下列单词的话就等同于 #UseHook On。 On: 将用键盘钩子来实现此处和下个 #UseHook OFF (如果有的话)之间所有的键盘热键。 Off: 将用默认的方法(如果可用 RegisterHotkey() 的话；否则会用键盘钩子)实现热键。

#### 注意

通常只要可能，都会用 windows API 函数 RegisterHotkey() 来实现键盘热键。不过在某些条件下，如果用键盘钩子来代替的话，热键的响应性可能会更好。

将此指令调为 ON 就相当于在每个受影响热键的定义中使用 $ 前缀。Windows 95/98/Me 例外，它们忽略 #UseHook (虽然 $ 前缀能起有限的作用)。

和所有在脚本启动时仅执行一次的 # 指令一样，#UseHook 在脚本中不应该像命令那样被放置(也就是说，没必要将它包含在子程序中)。而是将它放在你想要影响的首个热键标签前。

使用键盘钩子的热键不能被 Send 命令触发。相似地，鼠标热键也不能被比如 Click 命令触发，因为所有的鼠标热键都使用鼠标钩子。要绕弯解决这种情况，可用 Gosub 直接跳转到热键的子程序。例如：Gosub #LButton

如果脚本中没有出现此指令，那么将表现得像设成了 OFF。

#### 相关命令

#InstallKeybdHook, #InstallMouseHook, ListHotkeys

#### 示例

    #UseHook  ;在此点后强制给热键使用钩子。
    #x::MsgBox, 此热键将用钩子实现。
    #y::MsgBox, 这个也一样。
    #UseHook off
    #z::MsgBox, 但这个没用。

翻译：天堂之门 menk33@163.com 2008年11月22日