Scripting 自动热键中的滚动锁定和麻木锁定图标通知-AHK

Scripting 自动热键中的滚动锁定和麻木锁定图标通知-AHK,scripting,windows-10,autohotkey,Scripting,Windows 10,Autohotkey,我需要一个脚本,将把特定的图标(我指定)在系统托盘时,滚动锁或麻木锁(不同的图标)是活跃的。当未按下Lock或Numb时,脚本还需要隐藏图标 到目前为止,我得到了这个: If GetKeyState("Numlock", "T") Menu, Tray, Icon, Shell32.dll, 174 ~NumLock:: If GetKeyState("Numlock", "T") Menu, Tray, Icon, Shell32.dll, 174 Else Menu

我需要一个脚本,将把特定的图标(我指定)在系统托盘时,滚动锁或麻木锁(不同的图标)是活跃的。当未按下Lock或Numb时,脚本还需要隐藏图标

到目前为止,我得到了这个:

If GetKeyState("Numlock", "T")
    Menu, Tray, Icon, Shell32.dll, 174

~NumLock::
If GetKeyState("Numlock", "T")
    Menu, Tray, Icon, Shell32.dll, 174
Else
    Menu, Tray, Icon, Autohotkey.exe, 1
return
这是工作,但默认的AHK图标仍然存在于系统托盘中;当“麻木锁定”或“滚动锁定”未激活时,应将其隐藏


谢谢。

来自帮助文档:

通过使用命令
菜单,托盘,图标
菜单,托盘,NoIcon
,可以使托盘图标在脚本执行期间的任何时候消失或重新出现

请查看以下各项是否有效:

If GetKeyState("Numlock", "T")
    Menu, Tray, Icon, Shell32.dll, 174

~NumLock::
If GetKeyState("Numlock", "T")
{
    Menu, Tray, Icon
    Menu, Tray, Icon, Shell32.dll, 174
} Else
    Menu, Tray, NoIcon
Return

如果我用
菜单,托盘,图标,Autohotkey.exe,1
更改
菜单,托盘,NoIcon
它只工作一次并停止。您还需要明确地在自定义图标之前添加
菜单,托盘,图标。好的,因此我创建了两个脚本。一个用于NumLock,另一个用于ScrollLock。除了GetKeyState值之外,它们是相同的,一个有“Numlock”,另一个有“ScrollLock”。当我一次只使用一个脚本时,没有问题,但是当我试图同时使用这两个脚本时,就会出现问题。第二个脚本在按键时停止注册。根据我的经验,最近启动的脚本将拦截键盘挂钩,阻止它在其他脚本中使用(除非它以较低的优先级运行,或者上一个脚本以管理模式运行),这可能是此行为的原因。因此,我会在两个脚本中使用SetTimer来切换托盘图标。这是另一个问题。在接受这个答案后,如果它在一个脚本中工作,我会在这种情况下问一个新问题。