2011-10-17 29 views
6

Potrzebuję wywołać skrypt AutoHotkey, który zwróci wartość.Jak mogę zwrócić wartość ze skryptu AutoHotkey?

Na przykład coś takiego:

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

Mój skrypt wygląda tak:

IfExists, filename 
    return 1 
Else 
    return 0 

dostaję błąd mówiąc mi, że nie może mieć wartość w instrukcji return końcowym. Próbowałem również używać instrukcji Exit zamiast zwracania.

Jak mogę zwrócić wartość ze skryptu AutoHotkey?

Odpowiedz

6

Aby zwrócić kod zakończenia, należy zadzwonić pod numer ExitApp wraz z żądanym kodem. Użyj IfExist, aby ustalić, czy plik istnieje. Oznacza to skrypt, który nazywamy powinien wyglądać następująco:

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

podczas wywoływania skryptu należy użyć RunWait i przekazać parametr UseErrorLevel. Spowoduje to ustawienie zmiennej ErrorLevel na kod wyjścia wywołanego procesu, jeśli zostanie ona uruchomiona poprawnie lub jeśli tekst nie zostanie uruchomiony.

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

W tym przykładzie okno komunikatu wyświetli „1”, jeśli plik istnieje lub „0”, jeśli tak nie jest.

Powiązane problemy