<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>#IfTimeout <span class="ver">[AHK_L 8+]</span></h1> <p>设置计算单个 <a href="_If.htm">#If</a> 表达式可以使用的最大时间.</p> <pre class="Syntax"><span class="func">#IfTimeout</span> Timeout</pre> <h2 id="Parameters">参数</h2> <dl> <dt>Timeout</dt> <dd><p>全局有效的超时时间值, 单位为毫秒(ms).</p></dd> </dl> <h2 id="Remarks">备注</h2> <p>设置超时时间是为了防止表达式计算时间过长从而延迟了键盘输入. 如果超过了设定的超时时间值, 表达式会继续计算, 但键盘钩子将假定表达式结果为假而继续执行.</p> <p>如果脚本中未使用此指令, 那么程序会默认设置为 1000 ms.</p> <p id="LowLevelHooksTimeout">注意系统使用它自己的超时时间. 系统超时时间值定义为 DWORD 类型值 <em>LowLevelHooksTimeout</em>, 并保存在下列的注册表键中:</p> <p><b>HKEY_CURRENT_USER\Control Panel\Desktop</b></p> <p>如果超过了系统的超时时间, 那么系统可能会停止调用脚本的键盘钩子, 从而防止钩子热键在重新注册或脚本<a href="Reload.htm">重新加载</a>前停止工作. 钩子 <em>通常</em> 会在热键<a href="Suspend.htm">挂起</a>或恢复挂起的过程中重新注册.</p> <p>微软的文档中关于超时的细节是不清楚的, 但是研究表明 Windows 7 和更高版本的情况是这样的: 如果没有定义 <em>LowLevelHooksTimeout</em>, 默认的超时时间是 300 ms. 钩子超时可以长到 10 倍, 但是如果它超时第 11 次, 则会被无声地移除.</p> <p>如果某个热键具有多个 #If 变体的指令, 超时也许会独立地应用到每个变体, 更有可能导致超时时间被超过. 这种情况可能会在以后的版本中进行修改.</p> <p>和其他指令一样, #IfTimeout 不能有条件地执行.</p> <h2 id="Related">相关</h2> <p><a href="_If.htm">#If</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExBasic"> <p><a class="ex_number" href="#ExBasic"></a> 将 #If 超时设置为 10 ms, 而不是 1000 ms.</p> <pre>#IfTimeout 10</pre> </div> <a href="https://dftg.net">dftg</a></body> </html>