在AHK中,我有以下脚本:
Input, SingleKey, L1, {Left}{Right}{Up}{Down}
if (SingleKey = "{Left}")
whatever()
如何检测变量" SingleKey"是左箭头。以上不起作用。
我在使用和不使用{Left}{Right}{Up}{Down}
除了"输入"之外,还有更好的方法来获得按键吗?我知道我可以将左键设置为热键,但这不是我想要的:
LEFT::whatever() ;NOT what I want
我也尝试过:
arrowkey := ""
Loop
{
GetKeystate, state, Left
if (state = D)
{
arrowkey := "left"
break
}
}
if (arrowkey = "left")
whatever()
那也没有做任何事情 - 永远留在循环中
答案 0 :(得分:2)
到最后到达那里。这是我的解决方案。使用了GetKeyState函数(不是GetKeyState命令):
Loop
{
Sleep,10
if (GetKeystate("Left") = 1)
{
arrowkey := "left"
break
}
if (GetKeystate("Right") = 1)
{
arrowkey := "right"
break
}
if (GetKeystate("Up") = 1)
{
arrowkey := "up"
break
}
if (GetKeystate("Down") = 1)
{
arrowkey := "down"
break
}
}
if (arrowkey = "left")
whatever()