如何使用 AHK 在两个功能之间进行一键切换
How to have one key toggle between two functions using AHK
我将如何在 AHK 中创建一个热键,它在第一次按下时运行一个功能,在第二次按下时运行另一个功能。我正在尝试模拟 on/off 场景。
可以做到吗?如果可以,怎么做?
我正在寻找类似伪代码的东西:
#space::toggleit()
toggleit()
{
if (last time it was pressed, functionA was run)
run functionB
else
run functionA
}
我使用的是 AHK 版本 1.1.19.01
尝试使用 AutoHotkey 的 hotkey-命令:
hotkey, #space, functionA
return
functionA:
hotkey, #space, functionB
msgbox, A
return
functionB:
hotkey, #space, functionA
msgbox, B
return
如果您只想在 functionA
和 "do nothing" 之间切换,您可以使用以下命令:
hotkey, #space, functionA, toggle
return
functionA:
msgbox, A
return
一个简单的方法是使用变量:
setting := false
toggleit()
{
if setting
run functionB
else
run functionA
setting := !setting
}
我找到了解决办法。把它放在这里是为了其他人的利益:
#space::tog()
tog()
{
static togstate = 0
if (togstate = 1)
{
msgbox ON
togstate = 0
}
else
{
msgbox OFF
togstate = 1
}
}
我将如何在 AHK 中创建一个热键,它在第一次按下时运行一个功能,在第二次按下时运行另一个功能。我正在尝试模拟 on/off 场景。
可以做到吗?如果可以,怎么做?
我正在寻找类似伪代码的东西:
#space::toggleit()
toggleit()
{
if (last time it was pressed, functionA was run)
run functionB
else
run functionA
}
我使用的是 AHK 版本 1.1.19.01
尝试使用 AutoHotkey 的 hotkey-命令:
hotkey, #space, functionA
return
functionA:
hotkey, #space, functionB
msgbox, A
return
functionB:
hotkey, #space, functionA
msgbox, B
return
如果您只想在 functionA
和 "do nothing" 之间切换,您可以使用以下命令:
hotkey, #space, functionA, toggle
return
functionA:
msgbox, A
return
一个简单的方法是使用变量:
setting := false
toggleit()
{
if setting
run functionB
else
run functionA
setting := !setting
}
我找到了解决办法。把它放在这里是为了其他人的利益:
#space::tog()
tog()
{
static togstate = 0
if (togstate = 1)
{
msgbox ON
togstate = 0
}
else
{
msgbox OFF
togstate = 1
}
}