1

再会,

我正在尝试为 AutoHotKey (AHK) 创建一个脚本,该脚本将在同时按下Caps lock + A时显示图像,并在释放按键后隐藏。

我当前的解决方案显示了图像,但它只会在按下Esc后消失:

#Persistent
SetCapsLockState, AlwaysOff
#If, GetKeyState("CapsLock", "P")

a::
Gui +LastFound +AlwaysOnTop +ToolWindow -Theme -Border -Caption
Gui, Color, FFFFFF
WinSet, Transcolor, FFFFFF
Gui, Add, Picture, x0 y0 w1827 h635, C:\Users\User\Image.png
Gui, Show, xCenter y360 w1827 h635
Gui, Margin, 0,0
return
GuiEscape: 
Gui, Cancel
Gui, Hide
return

我已经尝试过设置状态UP::但没有任何效果。期待一些帮助。

4

1 回答 1

2

KeyWait似乎是您正在寻找的东西。

从文档:

键等待

等待键或鼠标/操纵杆按钮被释放或按下。

KeyWait, KeyName , Options

因此,为了将脚本延迟a到要释放的密钥之前,您可以这样实现它:

KeyWait a

最终代码:

SetCapsLockState, AlwaysOff
#If, GetKeyState("CapsLock", "P")

a::
Gui +LastFound +AlwaysOnTop +ToolWindow -Theme -Border -Caption
Gui, Color, FFFFFF
WinSet, Transcolor, FFFFFF
Gui, Add, Picture, x0 y0 w1827 h635, C:\Users\User\Image.png
Gui, Show, xCenter y360 w1827 h635
Gui, Margin, 0,0
KeyWait a
gosub GuiEscape
return

GuiEscape: 
Gui, Cancel
Gui, Hide
return
于 2021-02-22T22:28:30.737 回答