Autoit en español
Aplicaciones con Autoit - Juan Antonio Villalpando
-- Tutorial de iniciación a Autoit --
Volver al índice del tutorial
____________________________
44.- Movimientos automáticos del ratón.
- Con el ratón podemos realizar las siguientes funciones: MouseClick, MouseClickDrag, MouseDown, MouseGetPos, MouseMove, MouseUp, MouseWheel,
ControlClick.
- https://www.autoitscript.com/autoit3/docs/functions/MouseMove.htm
- https://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm
___________________________________________
- Movimientos del ratón.
- El ratón se moverá a esas coordenadas de la pantalla del monitor.
- El origen de coordenadas es el vértice superior izquierdo del monitor.
- Este código mueve el ratón por distintos lugares de la pantalla.
- Al final obtiene las coordenadas del lugar donde se indica (500,650) y las muestra en un MsgBox.
- Pulsamos "Aceptar" en el MsgBox, 3 segundos después el ratón pulsará con su botón derecho el lugar donde se encuentre.
Movimiento del ratón. |
MouseMove(100,120) ; Coordenadas x,y
MouseMove(200,480,30) ; El tercer número, el 30, es la velocidad del ratón.
MouseMove(500,650,20)
MouseMove(300,650,70)
MouseMove(500,650,10)
$posicion = MouseGetPos()
MsgBox(0, "Posición:", $posicion[0] & ", " & $posicion[1])
Sleep(3000)
MouseClick("right"); Pulsa con el botón derecho del ratón.
|
___________________________________________
- AutoItSetOption o opt().
- Establece algunos parámetros de configuración de distintos componentes.
- https://www.autoitscript.com/autoit3/docs/functions/AutoItSetOption.htm
- Por ejemplo:
MouseCoordMode |
Establece la manera en la que se tomarán las coordenadas del ratón.
0 = relativas a la ventana actual que se esté utilizando. Origen vertice superior izquierdo.
1 = (defecto) relativas a la pantalla del monitor.
2 = relativas a cierta zona de la ventana que se esté utilizando. Origen debajo de la barra de título. |
- Para qué sirve esto, pues para que la posición del ratón esté basada bien en las dimensiones del monitor, o bien en la ventana que esté activa en ese momento.
- Si queremos pulsar un botón de la Calculadora y escribimos en el código: MouseClick(800,300), porque un botón se encuentra en ese momento en ese lugar de la pantalla, lo pulsará con éxito.
- Pero si otro momento queremos pulsar ese mismo botón y la Calculadora ya no está en ese lugar, al escribir MouseClick(800,300), no pulsará donde deseamos.
- Para eso podemos establecer la posición relativa. Si la establecemos y ponemos MouseClick(30,40), el ratón pulsará en ese lugar "medido" desde la ventana de la Calculadora.
- Cuando establecemos 0 en la ventana activa, las coordenadas se tomarán desde esa ventana, incluyendo borde y barra de título. Si establecemos 2, no se tomará ni los bordes ni la barra de título, en este caso el origen de coordenadas estará abajo izquierda.
___________________________________________
- Au3Info.
- Au3Info lo vimos en el tutorial anterior. Podemos ejecutarlo de estas dos maneras.
- Se utiliza para consultar propiedades y elementos que componen una aplicación como el título, Class, Instance...
- Abrimos la Calculadora y Au3Info. Arrastramos el "Finder Tool" hacia el título de la Calculadora, observamos que el Título es: "Calculadora" y su Class: "CalcFrame".
- Eso datos serán importante para localizar a la Calculadora cuando se encuentre en cualquier lugar de la pantalla.
- También con esta herramienta podemos obtener la posición relativa donde se encuentra cada botón. Ponemos el "Finder Tool" en cada botón para ver su posición.
- La función de todo esto lo veremos en el próximo apartado.
___________________________________________
- Pulsa teclas de la Calculadora independientemente de donde ella se encuentre.
- Mediante Au3Info, ponemos el "Finder Tool" en cada tecla de la Calculadora y anotamos su posición. Observa la siguiente imagen.
- Consultamos la pestaña Control. El Botón 7, está en la posición relativa 257,287.
- [Fíjate tambien que tiene Instance: 5, esto lo veremos en el próximo apartado]
- Vamos a sumar 78 + 63 =
- En WinActivate, ponemos el título de la ventana activa, en este caso la "Calculadora".
Suma automática. |
Suma automática.
AutoItSetOption("MouseCoordMode",2) ; Coordenadas relativas a la Calculadora
Run("calc.exe")
Sleep(50) ; Espera un poco que cargue.
WinActivate("Calculadora")
; Pulsa el botón izquierdo del ratón
; En la posición de cada botón.
MouseClick("left",257,287) ; 7
MouseClick("left",306,287) ; 8
MouseClick("left",403,407) ; +
MouseClick("left",355,328) ; 6
MouseClick("left",355,367) ; 3
MouseClick("left",452,367) ; =
|
___________________________________________
- Otra manera de pulsar las teclas con CLASS e INSTANCE.
- Mediante el Auto3Info y su "Finder Tool", nos posicionamos sobre la barra de título de la Calculadora. Observamos cuál es su Clase:
CLASS: CalcFrame (esto en la pestaña de Window del Auto3Info)
- Vamos a la pestaña Control y observamos la Class de cada botón. CLASS:Button y la Instance de cada uno.
Suma automática con CLASS e INSTANCE. |
Run("calc.exe")
Sleep(50) ; Espera un poco que cargue.
WinActivate("Calculadora")
opt("MouseCoordMode", 2) ; Esto es igual que AutoItSetOption("MouseCoordMode",2)
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:5]") ; 7
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:11]") ; 8
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:25]") ; +
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:17]") ; 6
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:18]") ; 3
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:30]") ; =
|
- Es igual poner opt("MouseCoordMode", 2) o AutoItSetOption("MouseCoordMode",2)
- Si quisiéramos pulsar 4 veces un botón:
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:5]", "left", 4)
- Si quisiéramos pulsar algo con el botón derecho del ratón:
ControlClick("[CLASS:CalcFrame]", "", "[CLASS:Button; INSTANCE:5]", "right")
_________________
|