Cómo usar AutoHotkey (I): potente herramienta para crear macros de teclado y ratón en Windows

Si sueles realizar con cierta frecuencia engorrosas tareas repetitivas en Windows que te hacen perder tiempo o que simplemente te gustaría poder agilizar, probablemente AutHotkey sea lo que necesitas para lograrlo.

AutoHotkey es una potente herramienta gratuita y de código abierto con la que podrás definir qué tareas deseas que se ejecuten cuando se pulse una determinada combinación de teclado, pudiendo así por ejemplo abrir programas y páginas web, insertar un determinado texto o el contenido del portapapeles en un documento o correo electrónico,  rellenar formularios automáticamente, etc.

¿Por qué me gusta especialmente HotKey? pues porque aunque inicialmente haya que dedicar algo de tiempo para aprender el lenguaje de script que utiliza, una vez lo conozcamos podremos definir prácticamente cualquier tipo de tarea que deseemos.

A continuación te mostraré algunos ejemplos para que puedas comprobar por ti mismo su potencial, siendo necesario para probarlos descargar antes el programa desde su web oficial (haciendo clic Download AutoHotkey) e instalarlo en el equipo:

descargar-autohotkey

Una vez instalado, para definir nuestras macros deberemos crear un archivo de script, que no es más que un simple archivo de texto plano, por lo que podremos crearlo desde el block de notas teniendo en cuenta guardarlo con la extensión .ahk.

A la hora de crear un script debemos aprender a detectar cuándo se pulsa la combinación de teclas que deseemos capturar e indicar la tarea o tareas que se desea realizar.

Para ello observa el siguiente script de ejemplo en el que configuramos cinco combinaciones de teclado (las líneas que comienzan con punto y coma son comentarios):

; {WINDOWS}{ESPACIO} Abre una página web:
#space::Run www.google.com

; {F5} Abre el editor del registro de Windows
F5::Run Regedit

; {CTRL}{N} Abre el block de notas:
^n::Run Notepad

; {MAYÚSCULAS}{W} Abre un programa indicando una ruta específica:
+w::Run %A_ProgramFiles%\Winamp\Winamp.exe

; {ALT}{G} Abre una ventana de símbolo del sistema:
!g::Run cmd

; {ALT Gr}{K} Abre la calculadora:
<^>!k::Run calc

; {CTRL}{ALT}{T} Abre la calculadora:
^!t::Run calc

Si estudias un poco el código y los comentarios te darás cuenta de que:

  • Para hacer referencia a la tecla {WINDOWS} se utiliza ‘#‘.
  • Para hacer referencia a una tecla de función se antepone la letra F seguida de su número (F1 … F12).
  • Para hacer referencia a la tecla {CONTROL} se utiliza ‘^‘.
  • Para hacer referencia a la tecla {MAYÚSCULAS} (no confundir con {BLOQUE MAYÚSCULAS}) se utiliza ‘+’.
  • Para hacer referencia a la tecla {ALT} se utiliza ‘!‘.
  • Para hacer referencia a la tecla {ALT GR} se utiliza ‘<^>!‘.
  • Es posible combinar los símbolos anteriores para definir combinaciones con varias teclas especiales.

Así pues:

  • Con ‘#space‘ indicamos que deseamos capturar cuando manteniendo presionada la tecla {WINDOWS} se pulse una vez la barra espaciadora.
  • Con ‘^n‘ se detecta cuando se pulsa la combinación {CONTROL}{N}
  • Con ‘+w‘ se detecta cuando se pulsa {MAYÚSCULAS}{W}
  • Con ‘!t‘ se detecta cuando se pulsa la combinación {ALT}{T}
  • Con ‘<^>!k‘ se detecta cuando se pulsa la combinación {ALT GR}{K}
  • Con ‘^!t‘ se captura la combinación {CTRL}{ALT}{T}

Tenemos también la posibilidad de definir entre otras las siguientes teclas especiales:

  • Space (barra espaciadora)
  • Tab (tabulador)
  • Enter
  • Escape
  • Backspace (retroceso)
  • Home (Inicio)
  • Right
  • ScrollLock
  • CapsLock
  • NumLock

Para utilizarlas escribiremos el nombre de la tecla deseada precedido de virgulilla «~» (se escribe pulsando la combinación en el teclado). Por ejemplo:

~Space::MsgBox Ha sido pulsada la barra espaciadora
~Tab::MsgBox Ha sido pulsada la tecla TAB
~Enter::MsgBox Ha sido pulsada la tecla Enter/Return
~Return::MsgBox Ha sido pulsada la tecla Enter/Return
~Escape::MsgBox Ha sido pulsada la tecla Escape
~Backspace::MsgBox Ha sido pulsada la tecla Retroceso

Para más información sobre las teclas disponibles consulta este enlace.

Tras la definición de la combinación de teclado se escribe ‘::‘ como separador, indicando a continuación la acción que se desea realizar.

En este primer ejemplo hemos utilizado el comando Run, que se puede utilizar para abrir páginas web, documentos y aplicaciones.

Una vez creado y guardado nuestro script de macros lo ejecutaremos haciendo doble clic en su icono, quedando residente en memoria y visible en el área de notificaciones de Windows:

Programa residente

Al hacer clic con el botón derecho sobre él se mostrará un pequeño menú desde el que podremos entre otras cosas editar el archivo de script, recargarlo en memoria si lo hemos modificado, pausarlo, dejar de capturar temporalmente las teclas que hayamos definido o cerrarlo para que deje de estar activo.

Si modificamos un archivo script tras haber sido cargado seleccionaríamos la opción Reload this Script para actualizar los cambios durante la ejecución del mismo, mostrándose un mensaje de error en caso de haber algo incorrecto en nuestro código.

Una vez activo el script, si pulsas las combinaciones de teclado definidas anteriormente deberías poder comprobar cómo se realizan las acciones que hemos configurado.

El ejemplo anterior es realmente muy sencillo pero espero que te haya ayudado a entender algunas de las bases de AutoHotkey, pero con las posibilidades que explicaremos en siguientes artículos verás que se trata de una herramienta realmente poderosa.

Para terminar, otra funcionalidad interesante de AutoHotkey es que ofrece la posibilidad de crear un archivo ejecutable (con extensión .exe) a partir de un archivo de script, de forma que será posible ejecutarlas en otro ordenador sin necesidad de tener instalado el programa.

Para crearlo acudiremos al menú de Inicio -> Todos los programas -> AutoHotkey y abriremos Convert .ahk to .exe:

Convertir a ejecutable exe

Después tan sólo hemos de seleccionar en Source (script file) el archivo de script e indicar en Destination (.exe file) el nombre y la ruta en la que deseamos guardar el ejecutable, pulsando en el botón > Convert < para crearlo.

iconos de script macro y ejecutable exe

Como puedes ver, AutoHotkey es una de esas pequeñas herramientas que aunque suelen pasar desapercibidas pueden hacernos ahorrar mucho tiempo.

Si te interesa aprender más sobre cómo utilizarlo consulta también los otros posts de este tutorial (es posible que necesites algunas nociones muy básicas de programación) y compártelos con tus contactos !