【问题标题】:Changing Tray Icon when script is paused脚本暂停时更改托盘图标
【发布时间】:2020-12-03 10:16:01
【问题描述】:

我用谷歌搜索了一下,但我找不到如何做到这一点。当脚本暂停/暂停时,我需要自定义图标。我知道如何在按键时更改它,但我需要与在系统托盘中用鼠标右键单击暂停它时相同的功能。当您执行此操作时,该标准 AHK 图标将具有红色背景,如果暂停,它会在暂停时将字母变为“S”。我的脚本在暂停/暂停时需要更改为自定义图标,当您右键单击托盘中的图标并将其暂停时。无需按键激活,最终脚本需要检测我何时暂停/恢复并更改为不同的自定义图标。

【问题讨论】:

    标签: scripting windows-10 autohotkey


    【解决方案1】:

    您可以随时更改托盘图标,因此您可以在暂停之前执行此操作,并在您取消暂停脚本时将其恢复正常,如下所示:

    ; start of script
    Menu, Tray, Icon, normal.ico
    
    ; pause icon
    Menu, Tray, Icon, paused.ico
    Pause, On
    
    ; return to normal    
    Menu, Tray, Icon, normal.ico
    Pause, Off
    

    见https://www.autohotkey.com/docs/commands/Menu.htm#Icon

    编辑:制作你自己的托盘菜单,非常基本的代码,你需要扩展它来打开/关闭它,只是为了说明

    Menu, Tray, Icon, normal.ico, , 1
    Menu, tray, NoStandard ; removes edit, pause, reload etc
    ; other menu options
    Menu, tray, Add, &Suspend Hotkeys     , MenuHandler
    Menu, tray, Icon,&Suspend Hotkeys     , %A_AhkPath%, 3 ; default suspend     icon
    Menu, tray, Add, &Pause Script        , MenuHandler
    Menu, tray, Icon,&Pause Script        , %A_AhkPath%, 4 ; default pause icon
    
    ; 
    
    MenuHandler:
    ;
    If (A_ThisMenuItem = "&Pause Script")
    {
     Menu, Tray, Icon, paused.ico
     Pause
     Return
    }
    

    【讨论】:

    • 是的,但是当我从任务栏单击暂停脚本时需要更改图标。
    • 您将托盘菜单替换为您自己的菜单和自己的暂停命令,这样您就可以跳转到“暂停:”标签或在脚本中的 menuhandler: 标签中更改图标和然后暂停。菜单用作打开/关闭它的开关,您可以使用变量跟踪它的状态。请参阅上面的编辑。
    • 那是没有暂停命令的东西。我只想右键单击任务栏图标,当我在上下文菜单中单击暂停时(在图标上,在任务栏上),图标应该会改变。
    • 我认为您不能(轻松)修改该菜单,但在 Windows 7 下可以(似乎)使用附加代码 1. 论坛帖子 + 此处示例 autohotkey.com/board/topic/76485-jumplist-library-for-windows-7 和 2. 库你需要(我认为)github.com/rshipp/ahk-libs/blob/master/JumpList/JumpList.ahk - 使用托盘菜单可能更容易,或者只需设置一个热键即可
    猜你喜欢
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多