暂停脚本的当前线程.
Pause NewState
类型: 整数或字符串
如果为空或省略, 暂停当前线程. 否则, 请指定以下值之一:
1 或 True: 将当前线程下面的线程标记为暂停, 然后进入暂停状态, 这样当它恢复时, 它将完成正在运行的函数(如果有). 如果当前线程下面没有线程, 脚本本身就会被暂停, 这将阻止计时器运行(这个效果与在脚本没有线程时使用菜单项 "Pause Script" 的效果是一样的).
1
True
0 或 False: 取消底层线程的暂停.
0
False
-1: 切换底层线程的暂停状态.
-1
A_IsPaused 包含了底层线程的暂停状态.
默认情况下, 脚本也可以通过它的托盘图标或主窗口来暂停.
与 Suspend 禁用热键和热字串不同, 开启暂停状态会冻结线程(如果省略了 NewState, 冻结当前线程, 否则是底层线程). 副作用是, 在它下面的任何被中断线程也将处于睡眠状态.
暂停任意线程后, 计时器不会运行. 与之相比, 显式启动的线程(如 热键和菜单项) 仍然可以运行; 但当它们的线程结束时, 底层线程仍会被暂停. 换句话说, 每个线程都能独立于其他线程被暂停.
使用默认的图标时, 每当脚本的当前线程处于暂停状态时, 托盘图标的颜色会从绿色变成红色. 可以通过冻结图标阻止这个图标颜色的改变, 这是通过为 TraySetIcon 的最后一个参数指定 1 来实现. 例如:
TraySetIcon ,, 1
要禁用计时器而不暂停脚本, 请使用 Thread "NoTimers".
当脚本显示任意类型的菜单(托盘菜单, 菜单栏, GUI 上下文菜单, 等) 时, 脚本总是处于停顿状态(虽然不是正式地暂停).
Suspend, Menu 对象, ExitApp, 线程, SetTimer
使用 Pause 来停止脚本, 比如检查变量.
ListVars Pause ExitApp ; 这一行将不会被执行, 直到用户取消暂停脚本为止.
按一次热键可暂停脚本. 再按一次即可取消暂停.
Pause::Pause -1 ; Pause/Break 键. #p::Pause -1 ; Win+P
发送 Pause 函数到另一个脚本.
DetectHiddenWindows True WM_COMMAND := 0x111 ID_FILE_PAUSE := 65403 PostMessage WM_COMMAND, ID_FILE_PAUSE,,, "C:\YourScript.ahk ahk_class AutoHotkey"