AutoHotkey ( AHK ) es un lenguaje de scripting personalizado, gratuito y de código abierto para Microsoft Windows , diseñado principalmente para proporcionar atajos de teclado sencillos (o "teclas de acceso rápido"), creación rápida de macros y automatización de software , permitiendo a usuarios de casi cualquier nivel de conocimientos informáticos automatizar tareas repetitivas en cualquier aplicación de Windows. Puede extender o modificar fácilmente las interfaces de usuario (por ejemplo, reemplazando los comandos predeterminados de las teclas de control de Windows con sus equivalentes de Emacs ). [ 6 ]
AutoHotkey fue lanzado inicialmente por su creador, Chris Mallet, en 2003; posteriormente se ha convertido en uno de los programas más utilizados y recomendados para la implementación sencilla de macros. El paquete de instalación incluye un extenso archivo de ayuda; también hay documentación disponible en línea. [ 7 ]
Características y usos
Los scripts de AutoHotkey se pueden usar para iniciar programas , abrir documentos y emular pulsaciones de teclas o clics y movimientos del ratón . [ 8 ] También pueden asignar, recuperar y manipular variables , ejecutar bucles y manipular ventanas , archivos y carpetas . Se pueden activar mediante una combinación de teclas , como un script que abre un navegador de Internet cuando el usuario pulsa la combinación de teclas correspondiente + + en el teclado.CtrlAltI
AutoHotkey también permite usar "hotstrings" que reemplazan automáticamente cierto texto a medida que se escribe, como asignar la cadena "btw" para producir el texto "by the way" o el texto "%o" para producir "percentage of". [ 9 ] Las teclas del teclado también se pueden reasignar y deshabilitar; por ejemplo, para que al presionar + se produzca una raya en la ventana activa . [ 10 ] Los scripts también se pueden configurar para que se ejecuten automáticamente al iniciar el equipo, sin necesidad de usar el teclado; por ejemplo, para realizar la administración de archivos a intervalos regulares. [ 11 ]CtrlM
Se pueden realizar tareas más complejas mediante formularios de entrada de datos personalizados ( ventanas GUI ), trabajando con el registro del sistema o utilizando la API de Windows mediante llamadas a funciones de archivos DLL . Los scripts se pueden compilar en archivos ejecutables independientes que se pueden ejecutar en otros equipos sin necesidad de tener AutoHotkey instalado. El código fuente en C++ se puede compilar con Visual Studio Express .
AutoHotkey permite el acceso a la memoria a través de punteros, como en C. [ 12 ]
Algunos ejemplos de uso de AutoHotkey
- Reconfigurar el teclado, por ejemplo, de QWERTY a Dvorak y otras distribuciones de teclado alternativas.
- Abrir programas, documentos y sitios web con simples pulsaciones de teclas.
- Utilizar atajos para escribir nombres de archivo y otras frases de uso frecuente.
- Escribir signos de puntuación no disponibles en el teclado, como las comillas curvas ( “ … ” ).
- Escribir otros caracteres que no sean del teclado, como el signo × utilizado para la medición dimensional (por ejemplo, 10′×12′).
- Simulación de la entrada del cursor del ratón mediante un script o pulsaciones de teclas.
- Pegar bloques de texto predefinidos mediante comandos (por ejemplo, para añadir firmas a correos electrónicos , publicaciones en foros , etc.).
- 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.
- Rellenar formularios automáticamente
- Prototipar aplicaciones antes de implementarlas en otros lenguajes de programación que requieren más tiempo.
Historia
La primera versión beta pública de AutoHotkey se publicó el 10 de noviembre de 2003, [ 1 ] después de que la propuesta del autor Chris Mallett de integrar la compatibilidad con teclas de acceso rápido en AutoIt v2 no obtuviera respuesta de la comunidad de AutoIt. [ 13 ] [ 14 ] Mallett creó un nuevo programa desde cero, basando la sintaxis en AutoIt v2 y utilizando AutoIt v3 para algunos comandos y el compilador. [ 15 ] Posteriormente, AutoIt v3 pasó de la licencia GPL a código cerrado debido a que "otros proyectos tomaban repetidamente el código de AutoIt" y "se posicionaban como competidores". [ 16 ]
En 2010, AutoHotkey v1.1 (originalmente llamado AutoHotkey_L) se convirtió en la plataforma para el desarrollo continuo de AutoHotkey. [ 17 ] A finales de 2012, se convirtió en la rama oficial. [ 18 ] Otro puerto del programa es AutoHotkey.dll. [ 19 ] Una bifurcación conocida del programa es AutoHotkey_H, [ 20 ] [ 21 ] que tiene su propio subforo en el sitio principal. [ 22 ]
Versión 2
En julio de 2021, se lanzó la primera beta de AutoHotkey v2. [ 23 ] [ 24 ] El primer candidato a lanzamiento se lanzó el 20 de noviembre de 2022, con el lanzamiento completo de v2.0.0 planeado para más adelante ese año. [ 25 ] El 20 de diciembre de 2022, se lanzó oficialmente la versión 2.0.0. [ 26 ] El 22 de enero de 2023, AutoHotkey v2 se convirtió en la versión principal oficial. AutoHotkey v1.1 pasó a ser heredada y no se implementaron nuevas características, pero esta versión aún era compatible con el sitio. [ 27 ] El 16 de marzo de 2024, se lanzó la actualización final de AutoHotkey v1.1. AutoHotkey v1.1 ha llegado al final de su ciclo de vida (esta versión ha sido "deprecada"). [ 28 ]
Ejemplos
El siguiente script busca una palabra o frase específica en Google . Después de que el usuario copie el texto de cualquier aplicación al portapapeles , al presionar la tecla de acceso rápido configurable + se abre el navegador web predeterminado del usuario y se realiza la búsqueda.⊞ WinG
#g:: Ejecutar "https://www.google.com/search?q=" . A_ClipboardEl siguiente script define una cadena de texto que permite al usuario escribir "afaik" en cualquier programa y, cuando le sigue un carácter final, reemplazarlo automáticamente con "as far as I know":
:: afaik :: hasta donde yo séFuncionalidades aportadas por los usuarios
Las extensiones, las interoperabilidades y las bibliotecas de scripts en línea de AutoHotKey están disponibles para su uso con y desde otros lenguajes de programación, incluidos:
Otros complementos importantes permiten la compatibilidad con:
- Programación orientada a aspectos
- Ganchos de función [ 35 ]
- Envoltorios COM [ 36 ]
- Interacción con la consola [ 37 ]
- Generación dinámica de código [ 38 ]
- HIDs [ 39 ]
- Automatización de Internet Explorer [ 40 ]
- Creación de GUI [ 41 ]
- Programación sintética [ 33 ]
- Servicios web [ 42 ]
- Ganchos de eventos de Windows [ 43 ]
malware
Cuando se utiliza AutoHotkey para crear software independiente para su distribución, dicho software debe incluir la parte de AutoHotkey que comprende y ejecuta los scripts de AutoHotkey, ya que es un lenguaje interpretado . Inevitablemente, se ha escrito malware utilizando AutoHotkey. [ 44 ] Cuando los productos antivirus intentan identificar elementos de malware programados con AutoHotkey, a veces identifican erróneamente a AutoHotkey como el culpable en lugar del malware real.
Véase también
- AutoIt (para Windows)
- AutoKey (para Linux)
- Automator (para Macintosh )
- Bookmarklet (para navegadores web)
- iMacros (para Firefox, Chrome e Internet Explorer)
- Keyboard Maestro (para Macintosh)
- KiXtart (para Windows)
- Macro Express (para Windows)
- Winbatch (para Windows)
Referencias
- 1 2 "Registro de cambios de AutoHotkey para los años 2003-2004" . Autohotkey.com. Archivado del original el 4 de noviembre de 2011. Recuperado el 2 de diciembre de 2011 .
- ↑ "Cambios y nuevas funciones | AutoHotkey" . www.autohotkey.com .
- ↑ «Lexikos/AutoHotkey_L» . GitHub .
- ↑ "Versión 2.0.26" . 4 de mayo de 2026. Consultado el 4 de mayo de 2026 .
- ↑ "Licencia de software" . AutoHotkey . Consultado el 8 de junio de 2022.
LICENCIA PÚBLICA GENERAL GNU, versión 2, junio de 1991.
- ↑ Contactar a Erica Sadun: Comentario (19/08/2005). "Ericasadun 2005 Life Hacker" . Lifehacker.com . Consultado el 02/12/2011 .
- ↑ "Referencia rápida | AutoHotkey" . www.autohotkey.com .
- ↑ "Tutorial de AutoHotkey: Creación de macros y teclas de acceso rápido" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Hotstrings y reemplazo automático (similar a Autotexto y Autocorrección)" . Autohotkey.com. 9 de enero de 2005. Consultado el 2 de diciembre de 2011 .
- ↑ "Reasignación de teclas y botones" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Teclas de acceso rápido, cadenas de acceso rápido y reasignación" . Autohotkey.com . Consultado el 23 de mayo de 2018 .
- ↑ "Cambios y nuevas funciones de AutoHotkey, v1.0.47 - 19 de junio de 2007" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Publicación del autor Chris Mallett en los foros de AutoHotkey" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Una comparación no funcional de AutoIt / AutoHotkey" . Paperlined.org. Archivado del original el 8 de diciembre de 2011. Recuperado el 2 de diciembre de 2011 .
- ↑ "Publicación del autor Chris Mallett en los foros de AutoHotkey" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Opiniones sobre licencias - Foros de AutoIt" . Autoitscript.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Publicación en el foro de Chris, anunciando que AutoHotkey_L ahora es la plataforma principal" . Autohotkey.com . Consultado el 2 de diciembre de 2011 .
- ↑ "Nuestra historia" . La Fundación AutoHotkey. 26 de mayo de 2014. Consultado el 23 de julio de 2016 .
- ↑ "Módulo AutoHotekey.dll" . github.io . Consultado el 13 de mayo de 2017 .
- ↑ "Bifurcación de AutoHotkey_H de Hotkeyit" . GitHub .
- ↑ "Fork de AutoHotkey_H de Thqby" . GitHub .
- ↑ "Subforo AutoHotkey_H" . AutoHotkey.com .
- ↑ "AutoHotkey v2" . AutoHotkey.com . Consultado el 28 de julio de 2021 .
- ↑ "AutoHotkey v2.0-beta.1 - Comunidad de AutoHotkey" . www.autohotkey.com . Consultado el 11 de enero de 2022 .
- ↑ "AutoHotkey v2.0-rc.1" . AutoHotkey.com . Consultado el 20 de noviembre de 2022 .
- ↑ "AutoHotkey v2.0.0" . AutoHotkey.com . Consultado el 20 de diciembre de 2022 .
- ↑ "Anuncio oficial de lanzamiento de AutoHotkey v2" . AutoHotkey.com .
- ↑ "Fin de vida útil: v1.1" . AutoHotkey.com .
- ↑ "Interoperabilidad de .NET Framework: scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "Interoperabilidad AHK + LUA (stdlib), prueba de concepto - Scripts y funciones" . Comunidad AutoHotkey .
- ↑ "ahklisp: lisp en win32 con cffi, sbcl y autohotkey - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "ahkecl : Common Lisp integrado en ahk - Scripts y funciones" . Comunidad de AutoHotkey .
- 1 2 "Funciones de código máquina: Magia de bits - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "Scripts de Windows integrados (VBScript y JScript) y COM - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "Ganchos de función - Sugerencias" . Comunidad de AutoHotkey .
- ↑ "Biblioteca estándar COM - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "LibCon - Biblioteca AutoHotkey para soporte de consola - Scripts y funciones" . Comunidad AutoHotkey .
- ↑ "Código de bajo nivel y dinámico: scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "Soporte para dispositivos de interfaz humana (HID)" .
- ↑ "Automatización de la navegación y la creación de scripts en IE7 con pestañas: scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "SmartGUI Creator :: - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ "Sparrow: AHK WebServer con soporte para AHK en HTML (fuentes incluidas) - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ " [ herramienta ] Mensajes de WinEventHook - Scripts y funciones" . Comunidad de AutoHotkey .
- ↑ Investigación, Cybereason Nocturnus. "Fauxpersky: El malware CredStealer escrito en AutoHotKey se hace pasar por Kaspersky Antivirus y se propaga infectando unidades USB" . Consultado el 29 de marzo de 2018 .
Enlaces externos
- Software de automatización
- Software de sistema gratuito
- Software libre programado en C++
- Software gratuito exclusivo para Windows
- Software que utiliza la Licencia Pública General de GNU.