<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>Pause</h1> <p>暂停脚本的<a href="../misc/Threads.htm">当前线程</a>.</p> <pre class="Syntax"> <span class="func">Pause</span> <span class="optional">NewState</span> </pre> <h2 id="Parameters">参数</h2> <dl> <dt>NewState</dt> <dd> <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#strings">字符串</a></p> <p>如果为空或省略, 暂停<a href="../misc/Threads.htm">当前线程</a>. 否则, 请指定以下值之一:</p> <p><code>1</code> 或 <code>True</code>: 将当前线程下面的线程标记为暂停, 然后进入暂停状态, 这样当它恢复时, 它将完成正在运行的函数(如果有). 如果当前线程下面没有线程, 脚本本身就会被暂停, 这将阻止<a href="SetTimer.htm">计时器</a>运行(这个效果与在脚本没有线程时使用菜单项 "Pause Script" 的效果是一样的).</p> <p><code>0</code> 或 <code>False</code>: 取消底层线程的暂停.</p> <p><code>-1</code>: 切换底层线程的暂停状态.</p> </dd> </dl> <h2 id="Remarks">备注</h2> <p><a href="../Variables.htm#IsPaused">A_IsPaused</a> 包含了底层线程的暂停状态.</p> <p>默认情况下, 脚本也可以通过它的<a href="../Program.htm#tray-icon">托盘图标</a>或<a href="../Program.htm#main-window">主窗口</a>来暂停.</p> <p>与 <a href="Suspend.htm">Suspend</a> 禁用<a href="../Hotkeys.htm">热键</a>和<a href="../Hotstrings.htm">热字串</a>不同, 开启暂停状态会冻结线程(如果省略了 <em>NewState</em>, 冻结<a href="../misc/Threads.htm">当前线程</a>, 否则是底层线程). 副作用是, 在它下面的任何被中断线程也将处于睡眠状态.</p> <p>暂停任意线程后, <a href="SetTimer.htm">计时器</a>不会运行. 与之相比, 显式启动的线程(如 <a href="../Hotkeys.htm">热键</a>和<a href="../objects/Menu.htm">菜单项</a>) 仍然可以运行; 但当它们的<a href="../misc/Threads.htm">线程</a>结束时, 底层线程仍会被暂停. 换句话说, 每个线程都能独立于其他线程被暂停.</p> <p>使用默认的图标时, 每当脚本的<a href="../misc/Threads.htm">当前线程</a>处于暂停状态时, 托盘图标的颜色会从绿色变成红色. 可以通过冻结图标阻止这个图标颜色的改变, 这是通过为 TraySetIcon 的最后一个参数指定 1 来实现. 例如:</p> <pre><a href="TraySetIcon.htm">TraySetIcon</a> ,, 1</pre> <p>要禁用<a href="SetTimer.htm">计时器</a>而不暂停脚本, 请使用 <a href="Thread.htm">Thread "NoTimers"</a>.</p> <p>当脚本显示任意类型的<a href="../objects/Menu.htm">菜单</a>(托盘菜单, 菜单栏, GUI 上下文菜单, 等) 时, 脚本总是处于停顿状态(虽然不是正式地暂停).</p> <h2 id="Related">相关</h2> <p><a href="Suspend.htm">Suspend</a>, <a href="../objects/Menu.htm">Menu 对象</a>, <a href="ExitApp.htm">ExitApp</a>, <a href="../misc/Threads.htm">线程</a>, <a href="SetTimer.htm">SetTimer</a></p> <h2 id="Examples">示例</h2> <div class="ex" id="ExHalt"> <p><a class="ex_number" href="#ExHalt"></a> 使用 Pause 来停止脚本, 比如检查变量.</p> <pre>ListVars Pause ExitApp <em>; 这一行将不会被执行, 直到用户取消暂停脚本为止.</em></pre> </div> <div class="ex" id="ExHotkey"> <p><a class="ex_number" href="#ExHotkey"></a> 按一次热键可暂停脚本. 再按一次即可取消暂停.</p> <pre>Pause::Pause -1 <em>; Pause/Break 键.</em> #p::Pause -1 <em>; Win+P</em></pre> </div> <div class="ex" id="ExPostMessage"> <p><a class="ex_number" href="#ExPostMessage"></a> 发送 Pause 函数到另一个脚本.</p> <pre>DetectHiddenWindows True WM_COMMAND := 0x111 ID_FILE_PAUSE := 65403 <a href="PostMessage.htm">PostMessage</a> WM_COMMAND, ID_FILE_PAUSE,,, "C:\YourScript.ahk ahk_class AutoHotkey"</pre> </div> <a href="https://dftg.net">dftg</a><!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "d5a9c4fcb9b6482fa53ce820d892f969"}'></script><!-- Cloudflare Pages Analytics --><script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"95bf7235a8445401","version":"2025.6.2","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfEdge":true,"cfOrigin":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"51750bb5dc4f40cc91a5ec55c63bbc01","b":1}' crossorigin="anonymous"></script> </body> </html>