我如何在AHK中创建一个热键,它在第一次按下时运行一个功能,另一个在第二次按下时运行。我试图模仿开/关场景。
可以这样做,如果是这样的话?
像我这样的伪代码就是我正在寻找的东西:
#space::toggleit()
toggleit()
{
if (last time it was pressed, functionA was run)
run functionB
else
run functionA
}
我使用AHK版本1.1.19.01
答案 0 :(得分:2)
尝试使用AutoHotkey的hotkey - 命令:
hotkey, #space, functionA
return
functionA:
hotkey, #space, functionB
msgbox, A
return
functionB:
hotkey, #space, functionA
msgbox, B
return
如果您只想在functionA
和“不执行任何操作”之间切换,可以使用以下内容:
hotkey, #space, functionA, toggle
return
functionA:
msgbox, A
return
答案 1 :(得分:0)
一种简单的方法是使用变量:
setting := false
toggleit()
{
if setting
run functionB
else
run functionA
setting := !setting
}
答案 2 :(得分:0)
我找到了解决方案。把它放在这里以获取其他好处:
#space::tog()
tog()
{
static togstate = 0
if (togstate = 1)
{
msgbox ON
togstate = 0
}
else
{
msgbox OFF
togstate = 1
}
}