# Suspend

禁用或启用所有的或选择的热键和热字串.

    Suspend Mode

## 参数

Mode

  类型: 字符串或整数

  以下值之一:

  `1` 或 `True`: 挂起所有的热键和热字串, 备注部分说明的豁免除外.

  `0` 或 `False`: 重新启用上面禁用的热键和热字串.

  `-1` (默认的): 更改为与以前状态相反的状态(On 或 Off).

## 备注

默认情况下, 脚本也可以通过它的托盘图标或主窗口来挂起.

热键/热字串可以通过在它前面加上 #SuspendExempt 指令来避免挂起. 即使挂起为 ON, 豁免热键/热字符串将保持启用. 这允许通过热键来关闭挂起, 否则这是不可能的, 因为热键将被挂起.

如果此函数所做的更改有充分理由, 那么键盘和/或鼠标钩子将安装或删除.

要根据任何条件(如活动窗口的类型) 自动禁用选定的热键或热字串, 请使用 #HotIf.

挂起脚本的热键不会停止脚本中已经运行的线程(如果有); 请使用 Pause 来让它停止.

当脚本的热键挂起时, 它的托盘图标会变为字母 S. 这可以通过冻结图标来避免, 这是通过为 TraySetIcon 函数的最后一个参数指定 1 来实现的. 例如:

    TraySetIcon ,, 1

当脚本挂起时, 内置变量 A_IsSuspended 为 1, 否则为 0.

## 相关

#SuspendExempt, 热键, 热字串, #HotIf, Pause, ExitApp

## 示例

按下一次热键可暂停所有热键和热字串. 再按一次可取消暂停.

    #SuspendExempt
    ^!s::Suspend  ; Ctrl+Alt+S
    #SuspendExempt False

发送 Suspend 函数到另一个脚本.

    DetectHiddenWindows True
    WM_COMMAND := 0x0111
    ID_FILE_SUSPEND := 65404
    PostMessage WM_COMMAND, ID_FILE_SUSPEND,,, "C:\YourScript.ahk ahk_class AutoHotkey"

dftg