Otras de las potentes funcionalidades de las macros de AutoHotkey son las que nos permiten detectar el momento en el que se hace clic con el ratón, enviar nosotros mismos un clic de un determinado botón y controlar la posición en pantalla de su cursor. A continuación te explicaré cómo hacer todo esto.
En primer lugar, para detectar en qué momento es pulsado un determinado botón del ratón especificaremos cuál de ellos deseamos controlar mediante una de las siguientes hotkeys precedida de virgulilla «~» (se escribe pulsando la combinación <ALT GR><4> en el teclado):
- LButton (botón izquierdo)
- RButton (botón derecho)
- MButton (botón central)
- WheelDown (desplazamiento hacia abajo de la ruedecilla)
- WheelUp (desplazamiento hacia arriba de la ruedecilla)
Por ejemplo:
~LButton::MsgBox Se ha pulsado el botón izquierdo del ratón ~RButton::MsgBox Se ha pulsado el botón derecho del ratón
Si deseamos mover el cursor del ratón hacia una determinada posición utilizaremos el comando MouseMove indicando el número de píxels que deberá desplazarse, tomándose como referencia la esquina superior izquierda de la ventana activa, o del Escritorio de Windows si no hay ninguna activa.
En el siguiente ejemplo, al pulsar la combinación de teclado especificada el cursor del ratón se desplazará 300 píxels hacia la derecha y 400 píxels hacia abajo (desde la esquina superior izquierda de la ventana activa o del Escritorio de Windows):
; {WINDOWS}{J} Mueve el cursor del ratón: #j::MouseMove 300, 400
Pero, ¿y si queremos mover el cursor y/o hacer clic en una determinada posición del Escritorio (por ejemplo en un icono) o de la ventana activa?: fácil, en ese caso tan sólo debemos ir a Inicio->Todos los programas->AutoHotkey y abrir la herramienta AutoIt3 Window Spy, que muestra posición del ratón relativa a la parte superior izquierda de la ventana activa o del escritorio de Windows si no hay ninguna ventana activa:
En el momento de capturar la imagen de ejemplo anterior el cursor del ratón se encontraba situado sobre el icono de la Papelera, mostrándose en On Screen cuáles son dichas coordenadas (de querer averiguar las coordenadas relativas a una ventana que tengamos activa nos fijaríamos en In Active Window).
Así que en este caso, si quisiéramos situar el cursor del ratón sobre el icono de la Papelera (suponiendo que no habrá ninguna ventan activa) el código necesario en la macro sería:
; {WINDOWS}{K} Desplaza el ratón: #k::MouseMove 51, 26
Por otro lado, si necesitamos enviar un clic del ratón utilizaremos el comando MouseClick indicando el botón deseado (LEFT, RIGHT o MIDDLE) y opcionalmente las coordenadas en las que deberá producirse dicho clic.
Por ejemplo, si deseamos que se envíe un clic derecho en la posición en la que se encuentre el cursor del ratón en ese momento:
; {WINDOWS}{B} Envía un clic del botón derecho del ratón en la posición actual: #b::MouseClick RIGHT
En este otro ejemplo se desplazará el cursor 300 píxels hacia la derecha y 400 píxels hacia abajo desde la esquina superior izquierda de la ventana activa o Escritorio de Windows, enviándose después un clic del botón derecho en dicha posición:
; {WINDOWS}{Q} Desplaza el ratón y envía un clic derecho: #q::MouseClick RIGHT, 300, 400
El comando MouseClick dispone de un cuarto parámetro en el que podremos indicar el número de clics que se han de producir:
; {WINDOWS}{2} Desplaza el ratón y envía un doble clic con el botón izquierdo: #2::MouseClick LEFT, 270, 400, 2 ; {WINDOWS}{3} Desplaza el ratón y envía un tripe clic con el botón izquierdo: #3::MouseClick LEFT, 270, 400, 3
Ya nos queda poco para terminar esta serie de posts dedicados a AutoHotkey, en el último de ellos te mostraré un ejemplo más práctico de macro en el que entre otras cosas se hará uso del ratón para realizar algunas acciones.
Espero que te haya gustado lo que te hemos mostrado hasta ahora 🙂