2011-10-17 7 views
6

Necesito llamar a un script de AutoHotkey que devolverá un valor.¿Cómo devuelvo un valor de un script de AutoHotkey?

Por ejemplo, algo como esto:

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

Mi script es el siguiente:

IfExists, filename 
    return 1 
Else 
    return 0 

consigo que me dice un error que no puedo tener un valor en la instrucción de retorno de terminación. También intenté usar la declaración Exit en lugar de devolver.

¿Cómo puedo devolver un valor desde un script de AutoHotkey?

Respuesta

6

Para devolver un código de salida, deberá llamar al ExitApp junto con el código que desee. Use IfExist para determinar si el archivo existe. Esto significa que el script que se llama debería tener este aspecto:

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

Al llamar a la secuencia de comandos que debe utilizar RunWait y pasarlo el parámetro UseErrorLevel. Esto establecerá la variable ErrorLevel en el código de salida del proceso llamado si se inicia correctamente o en el texto ERROR si el proceso no se puede iniciar.

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

En este ejemplo, el cuadro de mensaje mostrará '1' si el archivo existe o '0' si no.

Cuestiones relacionadas