Autohotkey不检查语句条件

时间:2019-03-01 21:45:38

标签: autohotkey

我的脚本应检查变量的值,如果它是0,则应重新映射一些键,如果值不是0,则应不重新映射任何键,或运行任何键热键:(我的变量称为chatbox

#IfWinActive Minecraft 1.8.9
  If (ChatBox = 0){
    1::z
  }
#IfWinActive

但这不起作用! AHK不检查变量:

---- C:\Users\...\mysimplescript.ahk
157: SPI_SETDEFAULTINPUTLANG := 0x005A
157: SPIF_SENDWININICHANGE := 2
030: Return (3.41)
263: Send,z (0.02)
263: Return (2.50)

为什么我不使用热键内的if语句?我做到了!问题是,它实际上不适用于游戏,这可能只是Windows的工作方式,我尝试过这样:

1::
  If (ChatBox = 0)
    send z
  else
    send 1
return

我不想在热键中使用if语句,我的问题是,我希望某些热键通过更改变量来激活。

1 个答案:

答案 0 :(得分:2)

这有条件地基于变量执行热键:

#If ChatBox = 0
  1::z
#If

这有条件地基于变量和窗口执行热键:

#If WinActive("Minecraft 1.8.9") and ChatBox = 0
  1::z
#If

REF:https://autohotkey.com/docs/commands/_If.htm