# Pause

暂停脚本的 current thread(当前线程) 。

Pause [, On|Off|Toggle, OperateOnUnderlyingThread?]

#### 参数

On|Off|Toggle | 如果留空或省略，它默认为 Toggle 。否则，指定为下列一个单词： Toggle: 暂停 current thread 除非它下面的线程已经暂停，这种情况下将反暂停下面的线程。 On: 暂停当前线程。 Off: 如果当前线程下面的线程已经暂停，当它恢复时将成为一种反暂停状态。反之，命令无效。
OperateOnUnderlyingThread? | 此参数被 "Pause Off" 忽略。对上面参数的其他两种而言，它也被忽略除非暂停已经被开启(包括凭借 Toggle 开启的)。 指定下面的一个数字： 0 (或者省略): 命令暂停当前线程；也就是，正在运行暂定命令的线程。 1: 命令标记当前线程下面的线程为暂定，以便当它恢复时，完成它运行的命令(如果有的话)并且之后进入一个暂停状态。如果当前线程下面没有线程，脚本自己会暂停，这将阻止 timers 运行(当脚本没有线程时，这个效果和使用了菜单项 "Pause Script" 一样)。

#### 注意

和 Suspend 不同 -- 它禁用了 hotkeys 和 hotstrings -- pause 将冻结 current thread 。作为一个副作用，任何当前线程下面被中断的线程也将潜伏着。

在任何线程被暂停时，timers 也不会运行。相比之下，明确地启动的线程例如 hotkeys 和 menu items 仍能被运行；但当它们的 threads 结束时，下面的线程仍将被暂停。换言之，每个独立于其他的线程能被暂停。

当脚本的 current thread 处于一个暂停状态时，托盘图标的颜色从绿色转为红色。这个颜色的改变能够通过冻结图标来避免，其通过为 Menu 命令的最后一个参数指定 1 来获得。例如：
Menu, Tray, Icon, C:\My Icon.ico, , 1

要禁用 timers 而不暂停脚本，使用 "Thread, NoTimers" 。

Pause 命令在功能上和内置菜单项 "Pause Script" 相似。

当一个脚本显示任何种类的 menu (tray menu, menu bar, GUI context menu 等等) 时，它总会停住(虽然不是正式地暂停)。

#### 相关命令

Suspend, Menu, ExitApp, Threads, SetTimer

#### 示例

    Pause::Pause  ; 给 "pause" 键指定暂停切换功能...
    #p::Pause  ; ... 或为 Win+p 或者其他一些热键指定此功能。

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