<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-1632085368384154" crossorigin="anonymous"></script><script src="https://autohotkey.top/gtag.js"></script></head> <body> <h1>#UseHook</h1> <p>强制使用钩子实现全部或部分键盘<a href="../Hotkeys.htm">热键</a>.</p> <pre class="Syntax"><span class="func">#UseHook</span> <span class="optional">Setting</span></pre> <h2 id="Parameters">参数</h2> <dl> <dt>Setting</dt> <dd> <p>指定以下文字值之一(如果省略, 则默认为 <strong>True</strong>):</p> <p><strong>True</strong> 或 <strong>1</strong>: 将用<a href="InstallKeybdHook.htm">键盘钩子</a>来实现从这里到下一个 <code>#UseHook false</code>(如果有的话) 之间的所有键盘热键.</p> <p><strong>False</strong> 或 <strong>0</strong>: 用默认方法实现热键(不能使用 RegisterHotkey() 时, 才使用键盘钩子).</p> </dd> </dl> <h2 id="Remarks">备注</h2> <p>一般情况下, 只要有可能都会用 windows API 函数 RegisterHotkey() 来实现键盘热键. 不过在一些情况下, 如果使用<a href="InstallKeybdHook.htm">键盘钩子</a>可能响应性更好.</p> <p>切换此指令为 ON 相当于在每个受影响的热键定义中使用 <a href="../Hotkeys.htm#prefixdollar">$ 前缀</a>.</p> <p>与所有 # 指令一样 -- 只在脚本启动时处理一次 -- <code>#UseHook</code> 不应该像函数那样放在脚本中(即它不需要被包含在子程序中). 相反, 应该把它放在您希望影响的首个热键之前.</p> <p>默认情况下, 使用<a href="InstallKeybdHook.htm">键盘钩子</a>的热键不会被 <a href="Send.htm">Send</a> 函数的方法触发. 同样地, 鼠标热键也不会被像 <a href="Click.htm">Click</a> 这样的内置函数触发, 因为所有的鼠标热键都使用<a href="InstallMouseHook.htm">鼠标钩子</a>. 一种解决方法是<a href="../Hotkeys.htm#Function">命名热键的函数</a>, 然后直接调用. 例如: <code>Gosub #LButton</code>.</p> <p><a href="_InputLevel.htm">#InputLevel</a> 和 <a href="SendLevel.htm">SendLevel</a> 对 Send 函数是否触发热键和热字串提供了额外的控制功能.</p> <p>如果脚本中未使用此指令, 那么它会表现的就像此设置为 OFF 那样.</p> <p>和其他指令一样, #UseHook 不能有条件地执行.</p> <h2 id="Related">相关</h2> <p><a href="InstallKeybdHook.htm">InstallKeybdHook</a>, <a href="InstallMouseHook.htm">InstallMouseHook</a>, <a href="ListHotkeys.htm">ListHotkeys</a>, <a href="_InputLevel.htm">#InputLevel</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 使前两个热键使用键盘钩子.</p> <pre>#UseHook <em>; 强制从这里往后的热键使用键盘钩子.</em> #x::MsgBox "This hotkey will be implemented with the hook." #y::MsgBox "And this one too." #UseHook False #z::MsgBox "But not this one."</pre> </div> <a href="https://dftg.net">dftg</a></body> </html>