Как вернуть значение из скрипта AutoHotkey? - PullRequest
6 голосов
/ 18 октября 2011

Мне нужно вызвать скрипт AutoHotkey, который будет возвращать значение.

Например, что-то вроде этого:

return_val = Shell("AutoHotKey.exe script.ahk")

Мой скрипт выглядит так:

IfExists, filename
     return 1
Else
     return 0

Я получаю сообщение об ошибке, сообщающее, что в завершающем операторе возврата не может быть значения.Я также попытался использовать оператор Exit вместо return.

Как я могу вернуть значение из скрипта AutoHotkey?

1 Ответ

6 голосов
/ 18 октября 2011

Чтобы вернуть код выхода, вам нужно позвонить ExitApp вместе с нужным кодом.Используйте IfExist , чтобы определить, существует ли файл.Это означает, что вызываемый вами скрипт должен выглядеть следующим образом:

IfExist, c:\test.txt
    ExitApp, 1
Else
    ExitApp 0

При вызове скрипта следует использовать RunWait и передать ему параметр UseErrorLevel.Для переменной ErrorLevel будет установлен код завершения вызванного процесса, если он запускается правильно, или текст ERROR, если процесс не может быть запущен.

RunWait, C:\Program Files (x86)\AutoHotkey\AutoHotkey.exe "C:\script.ahk",, UseErrorLevel
MsgBox %ErrorLevel%

В этом примере в окне сообщения отобразится«1», если файл существует, или «0», если его нет.

...