AutoHotkey: lenguaje libre para automatizar tareas, macros y atajos en Windows
Aprende AutoHotkey: lenguaje gratis y de código abierto para Windows que crea atajos, macros y automatiza tareas repetitivas. Acelera tu productividad fácil y rápidamente.
AutoHotkey es un lenguaje de scripting gratuito y de código abierto para Microsoft Windows. Permite a los usuarios crear atajos de teclado o teclas de acceso rápido, creación rápida de macros y automatización de software. Permite a los usuarios automatizar tareas repetitivas en cualquier aplicación de Windows. Las interfaces de usuario pueden ampliarse o modificarse con AutoHotkey. Por ejemplo, sustituyendo los comandos de las teclas de control de Windows por sus equivalentes de Emacs. La instalación de AutoHotkey incluye un archivo de ayuda. La documentación está disponible en Internet.
Qué es y para qué sirve
AutoHotkey es una herramienta orientada a mejorar la productividad mediante la automatización en Windows. Con ella puedes:
- Crear atajos de teclado personalizados (hotkeys) para ejecutar acciones con una combinación de teclas.
- Definir macros que simulan pulsaciones de teclado y clics de ratón.
- Usar hotstrings para expandir texto automáticamente (por ejemplo, escribir “omw” y que se convierta en “On my way”).
- Automatizar tareas en aplicaciones que no ofrecen API pública, controlando ventanas, controles y enviando mensajes.
- Crear pequeñas interfaces gráficas (GUIs) y menús para facilitar flujos de trabajo.
- Compilar scripts en un único ejecutable para distribuirlos sin requerir instalación adicional.
Características principales
- Lenguaje sencillo y de fácil aprendizaje, con sintaxis enfocada en tareas de automatización.
- Capacidad para detectar y procesar eventos del teclado y ratón.
- Comandos para manipular ventanas (WinActivate, WinMove, ControlSend, etc.).
- Funciones para manejo de archivos, directorios, registro del sistema y procesos.
- Bucles, condiciones, funciones y manejo básico de objetos y arrays.
- Amplia comunidad, numerosos ejemplos y biblioteca de scripts compartidos.
Ejemplos básicos
Algunos ejemplos comunes para entender la sintaxis:
- Hotkey: abrir el Bloc de notas con Ctrl+Alt+N
^!n::Run, notepad.exe
- Hotstring: reemplazo automático de texto
::addr::Calle Falsa 123, Ciudad, País
- Macro simple: escribir una secuencia y pulsar Enter
#e:: Send, Hola, esto es un ejemplo.{Enter} return (En los ejemplos: ^ = Ctrl, ! = Alt, # = Win)
Cómo empezar
- Descarga e instala AutoHotkey desde su sitio oficial. La instalación suele incluir un archivo de ayuda y ejemplos.
- Crear un script: en el Explorador de Windows, crea un archivo con extensión .ahk y edítalo con un editor de texto.
- Ejecutar el script: doble clic en el archivo .ahk (se ejecuta en segundo plano en la bandeja del sistema).
- Para detener o recargar un script: usa el icono de la bandeja del sistema o añade hotkeys de control dentro del script.
- Compilación: si necesitas distribuir sin requerir instalación, AutoHotkey incluye una utilidad para compilar scripts a .exe.
Buenas prácticas y seguridad
- Revisa cualquier script antes de ejecutarlo, especialmente si viene de fuentes desconocidas.
- No ejecutes scripts que pidan elevación de privilegios sin comprender su propósito.
- Usa comentarios en tus scripts para documentar qué hace cada sección (; tu comentario).
- Organiza scripts por funcionalidad y usa funciones reutilizables para mantenerlos limpios.
Casos de uso comunes
- Automatización de tareas repetitivas en aplicaciones ofimáticas.
- Relleno automático de formularios y gestión de ventanas.
- Creación de atajos para comandos frecuentes o secuencias de teclas largas.
- Atajos de accesibilidad para usuarios con movilidad reducida.
- Prototipado rápido de pequeñas utilidades personalizadas.
Herramientas y recursos útiles
- El archivo de ayuda incluido con la instalación contiene la referencia completa de comandos y ejemplos.
- Editores y complementos: existen editores adaptados para AutoHotkey (p. ej., SciTE4AutoHotkey) y extensiones para editores modernos.
- Foros y comunidades: la comunidad comparte scripts, bibliotecas y soluciones a problemas comunes.
Alternativas y compatibilidad
AutoHotkey está centrado en Windows. Si necesitas automatización multiplataforma, existen otras herramientas (por ejemplo, herramientas de automatización basadas en Python o aplicaciones específicas para macOS y Linux). Para tareas estrictamente en Windows, AutoHotkey suele ser más directo y ligero.
Licencia y comunidad
AutoHotkey es de código abierto y su desarrollo se apoya en la comunidad. La documentación y numerosos ejemplos facilitan el aprendizaje. Contribuir con scripts, mejoras y correcciones es común entre los usuarios.
En resumen, AutoHotkey es una solución potente y flexible para automatizar actividades en Windows, accesible para usuarios que quieran ahorrar tiempo y personalizar su flujo de trabajo mediante atajos, macros y scripts.
Características
Los scripts de AutoHotkey pueden utilizarse para cargar programas, abrir documentos y emitir pulsaciones de teclas y clics del ratón.
Los scripts de AutoHotkey también pueden cambiar variables y manipular ventanas, archivos y carpetas.
Los scripts de AutoHotkey pueden iniciarse mediante una tecla de acceso rápido. Cuando el usuario pulsa una combinación de teclas, como Ctrl+Alt+I en el teclado, un script podría abrir un navegador web.
Las teclas del teclado pueden reasignarse, de modo que al pulsar Ctrl+N la ventana activa reciba un guión (-). Las mismas teclas se pueden desactivar, de modo que al pulsar Ctrl+N no ocurra nada.
AutoHotkey también permite "hotstrings" que reemplazarán automáticamente cierto texto a medida que se escriba. Un uso típico de las hotstrings es la expansión de abreviaturas. Escribiendo "btw" podría producirse el texto "by the way".
Los scripts pueden iniciarse automáticamente al arrancar el ordenador. Estos podrían ejecutarse en segundo plano y podrían utilizarse para escribir información en un archivo de registro.
Tareas más complejas pueden ser hacer formularios de entrada de datos personalizados (ventanas GUI), trabajar con el registro del sistema o utilizar la API de Windows llamando a funciones de DLLs. Los scripts pueden ser compilados en un archivo ejecutable que puede ser ejecutado en otras computadoras que no tienen AutoHotkey instalado.
El código fuente está en C++ y puede compilarse con Visual Studio Express.
El acceso a la memoria a través de punteros está permitido igual que en C.
Algunos usos de AutoHotkey:
- Reasignación del teclado, por ejemplo, de QWERTY a Dvorak u otras distribuciones de teclado alternativas.
- Utilizar los atajos para rellenar los nombres de los archivos que se utilizan con frecuencia u otras frases.
- Escribir signos de puntuación no previstos en el teclado, como las comillas curvas ("...").
- Controlar el cursor del ratón con un teclado o un joystick.
- Abrir programas, documentos y sitios web con una simple pulsación de teclas.
- Añadir una firma al correo electrónico o a los tablones de anuncios.
- Supervisar un sistema y cerrar automáticamente los programas no deseados.
- Programar un recordatorio automático, un análisis del sistema o una copia de seguridad.
- Automatización de tareas repetitivas.
- Rellenar automáticamente los formularios de concursos y regalos (podría introducir su nombre, dirección, etc., automáticamente).
- Creación de prototipos antes de implementarlos en otro lenguaje de programación que requiera más tiempo.
Historia
La primera beta pública de AutoHotkey fue lanzada el 10 de noviembre de 2003. Se basaba en la sintaxis de AutoIt v2. Utilizaba algunos comandos de AutoIt v3 y el compilador de AutoIt v3. AutoIt v3 cambió su licencia de GPL a código cerrado debido a que "otros proyectos tomaban repetidamente el código de AutoIt" y "se establecían como competidores".
En 2010, AutoHotkey v1.1 (originalmente llamado AutoHotkey_L) se convirtió en la plataforma para el desarrollo continuo de AutoHotkey. A finales de 2012, se convirtió en la rama oficial.
Ejemplos
El siguiente script permitirá a un usuario buscar una palabra o frase concreta a través de Google. Tras copiar un texto de cualquier aplicación en el portapapeles, al pulsar la tecla de acceso directo configurable ⊞ Win+G se abrirá el navegador web predeterminado del usuario y se realizará la búsqueda.
El siguiente script define una cadena activa que permite al usuario escribir "afaik" en cualquier programa y hacer que se sustituya automáticamente por "as far as I know":
El siguiente ejemplo hace que Ctrl+⇧ Shift+Q sustituya el texto seleccionado en un editor por una versión entrecomillada de ese texto. Ilustra el uso de las funciones, los argumentos y los valores de los argumentos por defecto.
Características aportadas por los usuarios
Existen extensiones/interoperaciones/bibliotecas de scripts en línea para su uso con/desde otros lenguajes de programación:
- VB/C# (.NET)
- Lua
- Lisp
- ECL
- VBScript/JScript (host de secuencias de comandos de Windows)
- Código máquina integrado
Otros plugins importantes permiten la compatibilidad con:
- Programación orientada a aspectos
- Ganchos de función
- Envolturas COM
- Interacción con la consola
- Generación de código dinámico
- HIDs
- Automatización de Internet Explorer
- Creación de la interfaz gráfica de usuario
- Servicios web
- Programación sintética
- Ganchos de eventos de Windows
Malware
Se han escrito algunos programas maliciosos utilizando AutoHotkey.
Los productos antimalware a veces identifican falsamente los scripts de AutoHotkey como malware. Esto se llama falsos positivos.
Páginas relacionadas
Buscar dentro de la enciclopedia