autohotkey | |
---|---|
Tipo de | lenguaje de escritura |
Autor | Chris Mallett [d] [1] |
Desarrollador | Fundación AutoHotkey LLC [d] [1] |
Escrito en | C++ [2] |
Sistema operativo | Microsoft Windows |
plataforma de hardware | Microsoft Windows |
ultima versión |
|
Formatos de archivo legibles | Guión AHK [d] |
Licencia | GNU GPL |
Sitio web | autohotkey.com _ |
AutoHotkey es un lenguaje distribuido libremente para automatizar tareas en Microsoft Windows .
AutoHotkey es un lenguaje de secuencias de comandos adaptado para asignar y reasignar fácilmente teclas de acceso rápido , incluidos los botones del mouse y del joystick . Los scripts son archivos de texto con extensión ".ahk" . El paquete incluye una utilidad que le permite "compilarlos" en archivos EXE y ejecutarlos en cualquier computadora con sistema operativo Windows, mientras que el archivo creado puede incluir otros archivos que se extraen al inicio.
AutoHotkey le permite automatizar las tareas del usuario de Windows de una manera que no es posible o difícil en otros lenguajes de programación. Además, este lenguaje es compacto, autónomo y funciona en todas las versiones de Windows listas para usar.
AutoHotkey se puede usar para simular acciones de teclado, mouse y joystick, iniciar programas, cambiar su interfaz, administrar ventanas, archivos y carpetas, trabajar con el portapapeles y el registro del sistema . Los comandos se pueden llamar con teclas de acceso rápido.
También es posible crear una GUI , enviar y recibir mensajes de ventana, llamar a funciones DLL , procesar texto usando expresiones regulares .
AutoHotkey se originó como una bifurcación del proyecto AutoIt , cuando su autor propuso construir un soporte de teclas de acceso rápido más estricto en AutoIt v2, pero no encontró comprensión. Entonces, el autor decidió desarrollar su propio lenguaje basado en la sintaxis de AutoIt v2 y utilizando algunas de las características de AutoIt v3.
Actualmente, el desarrollo de la rama original, AutoHotkey 1.0 (más tarde llamado AutoHotkey Basic , Classic, Vanilla), está descontinuado por su creador Chris Mallett. El sucesor oficial, AutoHotkey 1.1 (AutoHotkey_L), desarrollado por un esfuerzo de la comunidad liderado por Steve Gray (Lexikos) y fincs, esta versión brinda soporte para Unicode , arquitectura de 64 bits , arreglos , creación de prototipos de objetos , así como controles COM y ActiveX en la GUI.
Un usuario con el alias tinku99 ha desarrollado una compilación personalizada de AutoHotkey_N que le permite integrar el intérprete de AutoHotkey en otra aplicación o idioma. Proporciona la funcionalidad AutoHotkey que podría ser más difícil de implementar en otro idioma.
Un usuario con el alias HotKeyIt lanzó casi al mismo tiempo su propia versión de AutoHotkey_H basada en AutoHotkey_N, además de integrarse vía dll , también podía usarse vía COM . También hubo un intento de implementar la protección del código, lo que se logró gracias a técnicas de criptografía y anti-depuración. Según algunos informes , se observa inestabilidad de inicio en Windows 10 .
Actualmente, el desarrollo de la segunda versión lleva varios años, actualmente se encuentra en versión alfa. La sintaxis se ha reestructurado en esta versión.
Las características del lenguaje incluyen:
El intérprete de AutoHotkey es pequeño y no requiere instalación. El archivo principal es suficiente para trabajar, y cualquier editor de texto es suficiente para crear un script . Para ejecutarse sin un intérprete, primero se debe compilar el script .
Hay un IDE para AutoHotkey llamado SciTE4AutoHotkey basado en el editor gratuito SciTE . El compilador, las herramientas de utilidad y los materiales de referencia están totalmente integrados, lo que convierte al editor en un entorno estándar para los desarrolladores que utilizan AHK. El compilador AHK y el entorno de desarrollo SciTE son fáciles de instalar y no requieren configuración adicional.
Al igual que otros lenguajes de secuencias de comandos, AutoHotkey es un lenguaje de tercera generación que utiliza el modelo clásico y las variables de tipo variante para almacenar varios tipos de datos , incluidas las matrices.
Usos populares de AutoHotkey:
Para simplificar el desarrollo de interfaces gráficas, existe un editor visual SmartGUI Creator.
El código fuente de AutoHotkey para todas las versiones de C++ está disponible para descargar en GitHub.
La versión actual del idioma está disponible para su descarga en el sitio web oficial del proyecto, así como versiones anteriores.
Programa Hola Mundo:
; Muestra una ventana estándar con el nombre "Ejemplo", la inscripción "¡Hola, mundo!" y el botón Aceptar. MsgBox , 0 , Ejemplo , ¡Hola mundo ! _Creación de un cuadro de diálogo:
; Muestra un cuadro de diálogo con los botones Sí y No. Si hace clic en "Sí", salga del programa. MsgBox , 4 , Pregunta , ¿ Desea salir del programa ? IfMsgBox , Sí Salir de la aplicación más MsgBox , Gracias por quedarse con nosotros .Bloc de notas de lanzamiento:
Corre , bloc de notas . exeDespertador de 12 horas y 00 minutos:
Establecer Temporizador , Verificar Hora , 300 ; Ajuste el temporizador a la etiqueta una vez cada 300 milisegundos. volver ; Fin de la sección de ejecución automática. El script se detiene hasta que se activa la etiqueta. hora de revision: if ( A_Hour == 12 && A_Min == 00 ) ; Si ha llegado el momento. { Información sobre herramientas , Alarma . ; Emitimos un mensaje. Sueño , 3000 ; Esperamos 3 segundos. Sugerencia sobre herramientas ; Ocultamos el mensaje. } devolverOcultar/Mostrar cursor al presionar Win + C.
; Oculta/muestra el cursor del mouse cuando presiona la tecla Win + C. Al Salir , Mostrar Cursor ; Cuando finaliza el script, mostramos el cursor. volver ; Fin de la sección de ejecución automática. El script se detiene hasta que el usuario hace algo. Mostrar Cursor: Cursor del sistema ( "Activado" ) Salir de la aplicación #c:: SystemCursor ( "Alternar" ) ; Cuando presionas Win + C, muestra/oculta el cursor. SystemCursor ( estado := 1 ) { AndMask estático , XorMask , $ , hCursor , c0 , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , c13 ; Cursor del sistema. , b1 , b2 , b3 , b4 , b5 , b6 , b7 , b8 , b9 , b10 , b11 , b12 , b13 ; Cursor vacío. , h1 , h2 , h3 , h4 , h5 , h6 , h7 , h8 , h9 , h10 , h11 , h12 , h13 ; Controladores de cursor por defecto. if ( estado = "Init" o estado = "I" o $ = "" ) ; Inicializado en la primera llamada. { $ = hora ; Cursor activo por defecto. VarSetCapacity ( hСursor , 4444 , 1 ) VarSetCapacity ( AndMask , 32 * 4 , 0xFF ) VarSetCapacity ( XorMask , 32 * 4 , 0 ) cursores_sistema = 32512 , 32513 , 32514 , 32515 , 32516 , 32642 , 32643 , 32644 , 32645 , 32646 , 32648 , 32649 , 32650 StringSplit c , system_cursors , `, Bucle %c0% { hСursor := DllCall ( "LoadCursor" , "Ptr" , 0 , "Ptr" , c %A_Index% ) h %A_Index% := DllCall ( "Copiar imagen" , "Ptr" , hCursor , "UInt" , 2 , "Int" , 0 , "Int" , 0 , "UInt" , 0 ) b %A_Index% := DllCall ( "CreateCursor" , "Ptr" , 0 , "Int" , 0 , "Int" , 0 , "Int" , 32 , "Int" , 32 , "Ptr" , & AndMask , " Ptr " y XorMask ) } } if ( estado = 0 o estado = "Apagado" o $ = "h" y ( estado < 0 o estado = "Alternar" o estado = "T" ) )) $ = segundo ; Usamos un cursor vacío. más $ = hora ; Usamos el cursor del sistema. Bucle %c0% { hCursor : = DllCall ( "Copiar imagen" , "Ptr" , %$%%A_Index% , "UInt" , 2 , "Int" , 0 , "Int" , 0 , "UInt" , 0 ) DllCall ( "SetSystemCursor" , "Ptr" , hСursor , "UInt" , c %A_Index% ) } }Ejemplo de script usando GUI:
Gui , Agregar , Texto , Nombre : Gui , Agregar , Texto ,, Apellido : Gui , Agregar , Editar , vFirstName ym ; El parámetro ym inicia una nueva columna de controles. GUI , Agregar , Editar , vLastName Gui , Agregar , Botón , por defecto , OK ; La etiqueta ButtonOK (si existe) se activará cuando se haga clic en el botón. Gui , Show ,, Ejemplo de entrada simple volver ; Fin de la sección de ejecución automática. El script se detiene hasta que el usuario hace algo. BotónOK: GUI , Enviar ; Guarda la entrada del usuario en la variable enlazada de cada control. MsgBox Su nombre Apellido : "%FirstName% %LastName%" . GuiCerrar: ; Se dispara cuando la interfaz está cerrada. Salir de la aplicación