Al ejecutar una macro de AutoHotkey en ocasiones necesitaremos solicitar algún dato para que pueda completarse el proceso.
Para ello disponemos del comando InputBox, el cual posee la siguiente sintaxis:
InputBox, OutputVar [, Title, Prompt, HIDE, Width, Height, X, Y, Font, Timeout, Default]
A continuación puedes ver un sencillo ejemplo en el que se solicita un dato al usuario y se almacena en la variable cadena, mostrándose luego su valor:
; {WINDOWS][E] Pide un dato y muestra el valor introducido: #e:: InputBox cadena MsgBox %cadena% return
En este otro ejemplo se especifica además un título y un mensaje para el cuadro de diálogo:
; {WINDOWS][W] Pide un dato y muestra el valor introducido: #w:: InputBox edad, Dime tu edad, ¿Cuál es tu edad? MsgBox %edad% return
Si se pide algún dato crítico (como por ejemplo una contraseña) es recomendable especificar el parámetro HIDE para que se muestren asteriscos en vez de los caracteres que escriba el usuario:
; {WINDOWS][Y] Pide un dato y muestra el valor introducido: #y:: InputBox password, Acción requerida, Introduce la contraseña, HIDE MsgBox %password% return
Al solicitar un dato debemos comprobar que es válido antes de continuar con la ejecución de la macro (si puede o no contener números, si ha de tener un formato concreto, etc.).
En el siguiente ejemplo tenemos un InputBox dentro de un bucle Loop del que sólo se saldrá cuando se introduzca un valor numérico:
; {WINDOWS][M] sentencia repetitiva con InputBox: #m:: Loop { InputBox numero, Introduce un número, Dime un número If numero IS NOT DIGIT MsgBox Introduce sólo dígitos else break } MsgBox Tu edad es: %numero% return
Para más información consulta la documentación de InputBox.