# Suspend

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

    Suspend , Mode

## 参数

Mode

  On: 挂起所有的热键和热字串, 备注部分说明的除外.

  Off: 重新启用上面禁用的热键和热字串.

  Toggle(默认): 改变为与原来相反的状态(On 或 Off).

  Permit: 仅仅把当前的子程序标记为免于挂起.

  [v1.1.30+]: 值 1(或 `true`), 0(或 `false`) 和 -1 可以分别用来代替 On, Off 和 Toggle.

## 备注

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

任何首行为 Suspend(不包括 `Suspend On`) 的热键/热字串会被免于挂起. 换句话说, 即使在挂起状态为 ON 时热键仍会保持可用. 这样就允许使用这样的热键关闭挂起状态.

如果由该命令进行更改, 则将安装或删除键盘和/或鼠标钩子.

要根据窗口的类型自动禁用选择的热键或热字串, 请使用 #IfWinActive/Exist.

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

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

    Menu, Tray, Icon, C:\My Icon.ico, , 1

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

## 相关

#IfWinActive/Exist, Pause, Menu, ExitApp

## 示例

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

    ^!s::Suspend  ; Ctrl+Alt+S

发送 Suspend 命令到另一个脚本.

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

dftg