Autohotkey не проверяет условие оператора - PullRequest
0 голосов
/ 02 марта 2019

Мой скрипт должен проверять значение переменной, если она 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 голосов
/ 02 марта 2019

Это условно выполняет горячую клавишу на основе переменной:

#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

...