Suspend

一、作用

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

二、格式

Suspend , [模式]

三、模式

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

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

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

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

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

四、注意事项

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

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

网友问:为什么下面代码不能取消挂起状态?

ScrollLock::    
    SetScrollLockState, % GetKeyState("ScrollLock","T") ? "Off" : "On"
    Suspend Toggle
return

答案,“任何首行为 Suspend(不包括 Suspend On) 的热键/热字串会被免于挂起”,这句话白话就是,如果想不被挂起,Suspend这行命令紧挨着热键那行写。正确写法:

ScrollLock::
    Suspend Toggle
    SetScrollLockState, % GetKeyState("ScrollLock","T") ? "Off" : "On"
return

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

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

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

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

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

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

五、例子

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

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

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

DetectHiddenWindows, On
WM_COMMAND := 0x0111
ID_FILE_SUSPEND := 65404
PostMessage, WM_COMMAND, ID_FILE_SUSPEND,,, C:\你的脚本.ahk ahk_class AutoHotkey

给TA捐赠
共{{data.count}}人
人已捐赠
学习

获取当前时间并格式化日期

2022-6-9 17:36:32

学习

ahk 屏幕取色

2022-6-12 18:59:25

2 条回复 A文章作者 M管理员
  1. Deepsea

    谢谢分享,强烈支持 积分不够评论来凑

  2. ainiau

    赚积分

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索