Suspend

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

Suspend NewState

参数

NewState

类型: 整数

如果省略, 默认为 -1. 否则, 请指定以下值之一:

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

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

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

备注

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

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

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

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

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

当脚本的热键挂起时, 它的托盘图标会变为 a green icon with a transparent H(或为 a green icon with a transparent Pause symbol, 如果脚本同时也被暂停). 可以通过冻结图标来避免图标更改, 这通过使用 TraySetIcon(,, true) 来实现.

当脚本挂起时, 内置变量 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"