Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo escribir un script de AutoHotkey

 

AutoHotkey es un software fantástico pero complicado. Inicialmente estaba destinado a volver a vincular teclas de acceso rápido personalizadas a diferentes acciones, pero ahora es una suite de automatización de Windows completa.

AHK no es particularmente difícil de aprender para los nuevos usuarios, ya que el concepto general es bastante simple, pero es un lenguaje de programación completo y completo de Turing. Aprenderá la sintaxis mucho más fácilmente si tiene experiencia en programación o está familiarizado con los conceptos.

Instalación y uso de AutoHotkey

El proceso de instalación de AutoHotkey es sencillo. Descargue el instalador del sitio web oficial y ejecútelo. Elija "Instalación rápida". Una vez que haya instalado el software, puede hacer clic con el botón derecho en cualquier lugar y seleccionar Nuevo> AutoHotkey Script para crear un nuevo script.

nuevo script autohotkey

Los scripts AHK son archivos de texto con .ahk extensión. Si hace clic con el botón derecho en ellos, obtendrá algunas opciones:

  • "Ejecutar secuencia de comandos" cargará su secuencia de comandos con el tiempo de ejecución de AHK.
  • "Compile Script" lo incluirá con un ejecutable AHK para crear un archivo EXE que pueda ejecutar.
  • "Editar secuencia de comandos" abrirá su secuencia de comandos en su editor de texto predeterminado. Puede usar el Bloc de notas para escribir scripts AHK, pero recomendamos usar SciTE4AutoHotkey, un editor para AHK que admite el resaltado de sintaxis y la depuración.

compilar el script autohotkey

Mientras se ejecuta un script, ya sea un EXE o no, lo encontrará ejecutándose en segundo plano en el área de notificación de Windows, también conocida como la bandeja del sistema. Busque el icono verde con una "H" en él.

Para salir, pausar, recargar o editar una secuencia de comandos, haga clic con el botón derecho en el icono de notificación y seleccione una opción adecuada. Los scripts continuarán ejecutándose en segundo plano hasta que los salga. También desaparecerán cuando cierre sesión en Windows o reinicie su PC, por supuesto.

ejecución de secuencia de comandos autohotkey

¿Cómo funciona AutoHotkey?

En esencia, AHK hace una cosa: vincular acciones a teclas de acceso rápido. Hay muchas acciones, combinaciones de teclas de acceso rápido y estructuras de control diferentes, pero todos los scripts funcionarán con el mismo principio. Aquí hay un script AHK básico que inicia Google Chrome cada vez que presiona Windows + C:

#C::
Ejecutar Chrome
regreso

La primera línea define una tecla de acceso rápido. El signo de almohadilla (#) es la abreviatura de la tecla de Windows y c es la tecla C del teclado. Después de eso, hay dos puntos dobles (: :) para indicar el inicio de un bloque de acción.

La siguiente línea es una acción. En este caso, la acción lanza una aplicación con el Run comando. El bloque se termina con un return al final. Puede tener cualquier número de acciones antes de returnTodos dispararán secuencialmente.

Así, ha definido un mapeo simple de clave para la acción. Puede colocar tantos de estos como desee en un .ahk archivo y configurarlo para que se ejecute en segundo plano, siempre buscando teclas de acceso rápido para reasignar.

Teclas de acceso rápido y modificadores

Puede encontrar una lista completa de los modificadores de AHK en la documentación oficial, pero nos centraremos en las características más útiles (y geniales).

Todas las teclas modificadoras tienen abreviaturas de un solo carácter. Por ejemplo, # ! ^ +son Windows, Alt, Control y Shift, respectivamente. También puede diferenciar entre Alt, Control y Shift de izquierda y derecha con los modificadores <>, lo que abre mucho espacio para teclas de acceso rápido adicionales. Por ejemplo, <! es Alt a la izquierda y> + es Mayús a la derecha. Eche un vistazo a la  lista de claves para ver todo lo que pueda hacer referencia. (Spoiler: puede hacer referencia a casi todas las teclas. Incluso puede hacer referencia a otros dispositivos de entrada que no sean de teclado con una pequeña extensión).

Puede combinar tantas teclas como desee en una tecla de acceso rápido, pero pronto se quedará sin combinaciones de teclas para recordar. Aquí es donde entran en juego los modificadores, que le permiten hacer cosas más locas. Analicemos un ejemplo de los documentos de AHK:

directivas autohotkey

El verde #IfWinActivese llama  directiva y aplica contexto adicional a las teclas de acceso rápido físicamente debajo de él en el script. Cualquier tecla de acceso rápido posterior solo se activará si la condición es verdadera, y puede agrupar varias teclas de acceso rápido bajo una directiva. Esta directiva no cambiará hasta que acceda a otra directiva, pero puede restablecerla con un espacio en blanco #If(y si eso parece un truco, bienvenido a AHK).

La directiva aquí verifica si una ventana específica está abierta, definida por ahk_class NotepadCuando AHK recibe la entrada "Win + C", disparará la acción bajo la primera #IfWinActive solo si la directiva devolvió verdadera, y luego verificará la segunda si no lo hizo. AHK tiene muchas directivas y puede encontrarlas todas en los documentos.

AutoHotkey también tiene cadenas de acceso, que funcionan como teclas de acceso rápido, excepto que reemplazan una cadena completa de texto. Esto es similar a cómo funciona la autocorrección; de hecho, hay un script de autocorrección para AHK, pero admite cualquier acción de AHK.

cadenas calientes autohotkey

La cadena interactiva coincidirá con la cadena solo si se escribe exactamente. También eliminará automáticamente el texto coincidente para reemplazar la cadena activa, aunque este comportamiento se puede ajustar.

Comportamiento

Una acción en AHK es cualquier cosa que tenga un efecto externo en el sistema operativo. AHK tiene muchas acciones. No es posible que podamos explicarlos todos, por lo que seleccionaremos algunos útiles.

  • Envío de entrada, ya sea texto o varias pulsaciones de botones.
  • Moviendo el mouse alrededorDe hecho, AHK a veces se marca erróneamente como software de trampa para videojuegos, ya que la gente ha creado aimbots completamente funcionales con él.
  • Hacer clic con el mouse, con posicionamiento relativo a la ventana actual.
  • Visualización de menús de diálogo, completos con formularios y campos de entrada.
  • Mover las ventanas, ajustar el tamaño y abrir y cerrar.
  • Reproducción de música.
  • Escribiendo en el Registro de WindowsSí, en serio.
  • Modificar el contenido del Portapapeles.
  • Lectura y escritura de archivosPuede recorrer archivos y ejecutar acciones en cada línea. AHK puede incluso escribir en .ahk archivos y ajustar su propio código.

La mayoría de estas acciones también tendrán comandos orientados a la información asociados. Por ejemplo, puede escribir en el portapapeles, pero también puede obtener el contenido del portapapeles para almacenar en una variable y ejecutar funciones cuando cambia el portapapeles.

Uniéndolo todo con estructuras de control

AHK no sería lo que es sin todas las estructuras de control que lo hacen Turing completo.

Además de las #Ifdirectivas, también tiene acceso al If interior de los bloques de acción. AHK tiene For bucles, bloques de llavesTry  y Catchdeclaraciones, y muchos otros. Puede acceder a datos externos desde dentro del bloque de acción y almacenarlos en variables  u objetos  para usarlos más tarde. Puede definir funciones  y etiquetas personalizadas . Realmente, cualquier cosa que puedas hacer fácilmente en otro lenguaje de programación probablemente puedas hacer en AHK con un poco de dolor de cabeza y un vistazo a los documentos.

Por ejemplo, imagine que tiene una tarea aburrida y repetitiva que requiere que haga clic en varios botones seguidos y espere a que un servidor responda antes de volver a hacerlo ad infinitum. Puede usar AHK para automatizar esto. Querrá definir algunos bucles para mover el mouse a ubicaciones específicas, hacer clic y luego pasar al siguiente lugar y hacer clic nuevamente. Agregue algunas declaraciones de espera para que no se rompa. Incluso podría intentar leer el color de los píxeles en la pantalla para determinar qué está sucediendo.

Una cosa es segura: su guión probablemente no será bonito. Pero tampoco lo es AutoHotkey, y está bien.


Publicar un comentario

0 Comentarios