在 AutoHotkey 中将命令绑定到 key-up 和 key-down

Mal*_*rba 6 windows-7 keyboard-shortcuts autohotkey key-binding

我在AutoHotkey脚本中编写了两个函数:fun1()fun2(). 我现在需要绑定fun1()到何时Pause被按下,并绑定fun2()到何时Pause被释放。

例如,我会按住Pause隐藏所有窗口,然后松开Pause以恢复所有窗口。(这个例子不是我的实际目标)。

我怎么能在 AutoHotkey 中做到这一点?

小智 5

您可以使用以下代码完成所需的功能:

pause::
    fun1()
    keyWait, pause
    fun2()
return
Run Code Online (Sandbox Code Playgroud)

如果您正在处理子例程,请使用:

pause::
    gosub, sub1
    keyWait, pause
    gosub, sub2
return
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的答案。因为它可以处理长按而不发送多个“keyDown”事件。 (3认同)

out*_*sts 4

您可以将 .ahk 脚本编译为 .exe。然后有

Pause::C:\fun1.exe    
Pause Up::C:\fun2.exe
Run Code Online (Sandbox Code Playgroud)

有关 .akh 到 .exe 的更多信息:autohotkey- ahk2exe

  • 错误的。长按“暂停”将发送多个“keyDown”事件,多次启动“C:\fun1.exe”。 (3认同)