Automate Windows With Ahk Featured

Cómo usar AutoHotkey para automatizar cualquier cosa en Windows

AutoHotkey no es ajeno a Make Tech Easier, pero en el pasado hablamos principalmente de soluciones predefinidas. La cuestión es que AutoHotkey no es (solo) una plataforma para ejecutar scripts creados por otra persona; es principalmente un lenguaje de secuencias de comandos que le permite crear sus propias soluciones para sus necesidades particulares y automatizar cualquier cosa que haga en su escritorio de Windows. Cubrir su funcionalidad completa requeriría una serie de libros, ya que AutoHotkey se ha convertido en un lenguaje de programación completo y ahora incluso le permite crear aplicaciones con él.

Para este tutorial, comenzamos con los conceptos básicos que lo ayudarán a comenzar a convertir cualquier proceso de varios pasos en una sola pulsación de tecla.

Instalación

Descargar e instalar AutoHotkey de su sitio oficial. Elija la versión actual. Ignore las otras dos opciones: «V2» es una nueva versión, incompatible con los scripts existentes y con una sintaxis ligeramente diferente, mientras que «V1.0 Obsoleto» es antiguo y está restringido.

Hacer un guión en blanco

Después de su instalación, AutoHotkey se habrá registrado como la aplicación predeterminada para archivos con la extensión AHK. Es por eso que funcionan como ejecutables: AutoHotkey los analiza en tiempo real y ejecuta su contenido. Sin embargo, en realidad, los archivos AHK son scripts que puede abrir en cualquier editor de texto.

Automatice Windows con Ahk New Script

Cree una nueva carpeta para su primer script de AutoHotkey donde desee, ingréselo, haga clic con el botón derecho y cree un «Nuevo -> Script de AutoHotkey» desde la nueva opción en el menú del botón derecho. Dale el nombre que quieras.

Elija cómo editará sus guiones

En lugar de hacer doble clic en el archivo AHK que creó como lo haría para ejecutar un script prefabricado, haga clic con el botón derecho en él y seleccione Editar. Puede editar archivos AHK en cualquier editor de texto, pero dado que las secuencias de comandos son una versión liviana de la programación, es mejor si usa un programa creado para ese propósito. Cualquier cosa, desde Atom hasta Sublime Text o VS Code, servirá. Si no tiene ninguna herramienta de este tipo instalada, y dado que sus primeros scripts serán simples, puede incluso usar el Bloc de notas de Windows.

Para aquellos que se preguntan, personalmente uso todas esas herramientas para otros fines (como HTML, CSS y algunos JS, PHP y Python muy básicos), pero para editar scripts AHK, me encuentro volviendo al popular Notepad ++.

Dirigirse a aplicaciones o ventanas específicas

Antes de comenzar, primero revisemos el programa para el que deseamos hacer un script.

Puede crear secuencias de comandos globales en AutoHotkey que funcionarán en todas partes, en todas las aplicaciones y en el escritorio de Windows, pero también puede dirigirse a las aplicaciones. Esto le permite tener, por ejemplo, el mismo atajo haciendo cosas diferentes en dos programas diferentes.

Automatice Windows con Ahk Target Apps y Windows

Su secuencia de comandos se completará previamente con algunas configuraciones básicas. No los modifique, escriba después de ellos. Presione Entrar una o dos veces.

Ingrese esto en su script:

#IfWinActive ahk_class Notepad
 
#if

Esto le dice a AutoHotkey que cualquier cosa que siga a «IfWinActive» solo debería funcionar en una ventana con una clase de Bloc de notas (ahk_class Notepad). los #If después de que cierre la sección para que todo lo que le siga no se limite a las ventanas con una clase de Bloc de notas.

Conoce al espía de la ventana

Ejecute su secuencia de comandos vacía para que aparezca el ícono AHK en la bandeja de Windows. Haga clic con el botón derecho en él y seleccione Espía de ventana en el menú que aparece. Ahora, cada vez que haga clic en cualquier otra ventana, Window Spy de AutoHotkey le presentará información al respecto.

Automatice Windows con Ahk Windows Spy

En la parte superior, podrá ver las diferentes formas en que puede orientarlo en función de su título, clase y ejecutable. Si ejecuta Firefox y, con Window Spy en su pantalla, haga clic en su ventana. Verás que su ejecutable es “firefox.exe”. Revise su script intercambiando la referencia del Bloc de notas por #IfWinActive ahk_exe firefox.exe. Puede apuntar a cualquier otra ventana de la misma manera: use Window Spy para investigar su título, clase o ejecutable y apunte a cualquiera de ellos. Leer más al respecto aquí. La versión corta es:

  • Puede orientar las ventanas por su título utilizando #IfWinActive acompañado del título.
  • Puede apuntar ventanas por su clase usando #IfWinActive ahk_classseguido de la clase reconocida por Window Spy.
  • Puede apuntar programas por su ejecutable con #IfWinActive ahk_exey el nombre de archivo del ejecutable. Tenga en cuenta que de esta manera, apunta a todas las ventanas del programa y no a una específica.

Comprueba las coordenadas de tu ratón

Con Window Spy activo, dirija su atención al grupo de variables «Posición del mouse». Esos te muestran la ubicación exacta del mouse.

  • Absolute muestra la ubicación en relación con la resolución de toda la pantalla.
  • Relativo muestra la ubicación dentro de la ventana activa sin verse afectado por su ubicación en la pantalla. Este es el valor predeterminado y, en la mayoría de los casos, lo que probablemente usará.
  • Cliente es lo mismo que relativo, pero no tiene en cuenta la decoración de las ventanas, como la barra de título o los bordes.

Replicar los movimientos y clics del ratón

Ahora sabe cómo crear un nuevo script AHK y apuntar a una ventana específica, pero ¿qué pasa con las coordenadas del mouse de las que hablamos? Para mover el mouse a las coordenadas X, Y, tal como las lee Window Spy, use MouseMove, X, Y ;. Esto mueve el mouse a la posición X, Y. Recuerde: las coordenadas relativas son las predeterminadas.

Además, tenga en cuenta cómo puede agregar comentarios en su código después de la ; personaje. Para comentarios de varias líneas, comience con «/» y termine con «/», sin las comillas. Mover el ratón es una cosa. Para hacer clic, no es necesario mover el mouse en una posición específica de antemano. Solo usa:

Click, X, Y ;For a left-click, or...
 
Click, right, X, Y ;For a right-click.

Automatice Windows con Ahk Spying Mouse Coordinates

Tenga en cuenta que si no ingresa ninguna coordenada, el clic seguirá ocurriendo donde está el cursor del mouse.

Replicar cualquier pulsación de tecla del teclado

Dejamos la parte más importante de la ecuación para el final: sendkeys. Este es el comando utilizado en AutoHotkey para replicar cualquier pulsación de tecla. Al usarlo, puede dirigir AutoHotkey para enviar cualquier cadena de pulsaciones de teclas a cualquier programa, como si hubiera presionado las teclas usted mismo. Por ejemplo, lo siguiente:

sendkeys, Make Tech Easier

le dice a AutoHotkey que envíe las pulsaciones de teclas que componen la frase «Facilitar la tecnología». Puedes usar cualquier letra o número. Las teclas especiales tienen sus propios códigos abreviados y están rodeadas por corchetes. Algunos de ellos son:

  • {Pestaña}
  • {Cambio}
  • {Control} o {Ctrl}
  • {Alternativo}
  • {F1-F12)
  • {LWin}{RWin} Tecla izquierda y derecha de Windows, respectivamente
  • {Ingresar}
  • {Espacio}
  • {Retroceso}
  • {Borrar}
  • {Arriba}{Abajo}{Izquierda}{Derecha} ;Teclas de cursor Arriba, Abajo, Izquierda y Derecha
  • {Hogar}
  • {Final}
  • {PgUp}{PgDown} ;Página arriba y página abajo
  • {Volume_Up}{Volume_Down}{Volume_Mute} ;Accesos directos de control multimedia para controlar el volumen del sonido

También puede usar números para simular pulsaciones repetidas de teclas. Lo siguiente hará que AutoHotkey envíe cinco espacios a cualquier ventana activa, como si presionara la barra espaciadora cinco veces. Luego, escriba «Facilitar la tecnología», seguido de dos presiones de la tecla Tabulador y una de Intro.

Send, {Space 5}Make Tech Easier{Tab 2}{Enter}

AutoHotkey también establece cuatro símbolos como modificadores que ayudan a enviar combinaciones de teclas de acceso directo al programa activo. Esos afectan solo al siguiente personaje que los sigue y son:

  • ! para Alt
  • + para cambio
  • ^ para controlar
  • # para clave de Windows

Lo siguiente enviaría a la ventana activa la combinación Ctrl + A para, digamos, seleccionar todo el texto, luego Ctrl + C para copiarlo al Portapapeles:

Haz tu primer guión

Veamos cómo todo lo que vimos hasta ahora se traduce en un ejemplo del mundo real mediante la creación de un script que agregará un acceso directo a la función de búsqueda de Make Tech Easier. Al presionar una tecla de acceso rápido, el mouse se moverá y hará clic en el ícono de búsqueda en nuestro sitio. Luego ingrese lo que esté en el Portapapeles en el campo de búsqueda y envíe un «Enter» para comenzar una búsqueda.

Automatice Windows con Ahk Your First Script

Empezamos comprobando con Window Spy y encontramos que las coordenadas del icono de búsqueda, cuando la ventana de Firefox está maximizada en una pantalla de 1920 x 1080, están cerca de X=1835 e Y=135. Esos números varían porque el ícono de búsqueda es más grande que un solo píxel, por lo que X = 1830 e Y = 140 también funcionarían, ya que el cursor aún apunta al ícono cuando se encuentra en esas coordenadas. Sabiendo esto, podemos escribir:

#IfWinActive, ahk_exe firefox.exe ;Only activate if the window belongs to the firefox.exe application.
 
!+M:: ;The script will activate whenever we press the combination Alt+Shift+M.
 
Click, 1830, 140
 
Sleep, 50 ;Small delay, to make sure the search field has appeared on the screen.
 
Send, {Clipboard}{Enter} ;Send the contents of the Clipboard to the search field and then press enter to initiate a search.
 
return ;End the specific part of the script that, in this case, sets up a hotkey.
 
#If ;Stop targeting the specific app\window.

Sí, es así de simple, casi como escribir en inglés sencillo. Y, si lo piensa bien, esto le permite automatizar casi todo lo que hace en su computadora.

  • ¿Te gustaría mapear el lanzamiento de cinco aplicaciones o el movimiento «Hadouken» de Ryu en Street Fighter con una sola pulsación de tecla?
  • ¿Para mover el cursor del mouse a un punto específico en una ventana y hacer clic 50 veces en una sucesión rápida inhumana?
  • ¿Para hacer que el bloqueo de mayúsculas sea más útil al convertirlo en el clic central que le falta a su mouse?

¡Todo esto es factible precisamente de la misma manera! Piense en todos los procedimientos que repite todos los días, divídalos en partes de su suma y replique cada parte con AutoHotkey para simplificar enormemente la forma en que usa su computadora y aumentar su productividad. ¡Anímate y automatiza!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas