Página 1 de 1

Pregunta sobre Mover el raton y hacer click [SOLUCIONADO]

Publicado: 02 Dic 2009, 17:41
por MaTaXeToS
Hola, tengo una duda que me esta comiendo la cabeza, y he estado buscando informacion por el foro, y no he sido capaz de encontrar nada.
Me gustaria saber, si con autoIT es posible situar el raton en la esquina superior izquierda de una ventana en concreto.

Me explico mejor, yo con mi script lo que hago es ejecutar un programa que puede tener diferentes dimensiones en cada "persona", para que no hayan problemas en las acciones posteriores de los clicks, me gustaria que al ejecutar el script, este me ejecuta el programa llamado "Ventrilo" y una vez arrancado dicho programa, el raton se situara en la esquina superior izquierda de dicho programa.

Se puede hacer eso?

Link Programa Ventrilo: http://www.versiones-anteriores.com/descargar-342.html

Codigo del script.

Código: Seleccionar todo

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
#AutoIt3Wrapper_outfile=ventrilo1.exe
#AutoIt3Wrapper_Res_Comment=Ejecutar Ventrilo y entrar en el servidor
#AutoIt3Wrapper_Res_Description=Ejecutar Ventrilo y entrar en el servidor
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=MaTaXeToS
#AutoIt3Wrapper_Res_Language=3098
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Run("Ventrilo 2.1.4.exe")
WinWaitActive("Ventrilo 2.1.4", "&No")
Send("!n")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{ENTER}")

;MouseMove(287,31)
;MouseDown("left")
;MouseUp("left")
;Sleep(250)
En el codigo, esta adaptado ya para que conecte en el primer servidor que hay en la lista.


Gracias.

Re: Pregunta sobre Mover el raton y hacer click

Publicado: 02 Dic 2009, 19:00
por arkcrew
puede utulizar el mousemove con una macro
Mousemove(@desktopheight , @desktopwidght)

Queda algo asi, no esta completo porque os dejo ewte ensaje desde el movil.
Espero que te sirva, ya te digo, echale un ojo a esas macro

Un saludo

Re: Pregunta sobre Mover el raton y hacer click

Publicado: 02 Dic 2009, 22:52
por MaTaXeToS
Si, pero esa macro hace que se mueva el raton respecto a las dimensiones de la pantalla, pero el problema esta en que cuando ejecutas el programa, este se situa en la ultima posicion (x/y) que habias dejado antes de cerrar, entonces, no puedo hacer un movimiento estatico, ya que si muevo la ventana del programa y lo cierro, cuando ejecute mi script, este fallara ya que no seran los mismos (x/y).

Entonces, me gustaria saber si es posible hacer de situar el cursos en la esquina superior izquierda de la ventana actual, de esta forma entonces, si podria mover el raton ya que sabria con exactitud la posicion (x/y) de los menus.

Re: Pregunta sobre Mover el raton y hacer click

Publicado: 03 Dic 2009, 00:55
por Chefito
Haber. En autoit se puede hacer de todo :smt003 .
Te recomiendo que cambies el modo de trabajar con las coordenadas del ratón. Puedes cambiar este modo para trabajar solamente con las coordenas de la ventana, siendo siempre la esquina superior izquierda de la ventana 0,0, y sin cambiar los valores de las coordenadas de la ventana esté donde esté.
Utiliza Opt("MouseCoordMode", 0).
Si pones MouseMove(0,0,0) se te moverá siempre a la esquina superior izquierda de la ventana esté donde esté.
Pero poniendo Opt("MouseCoordMode", 0) ya puedes ir directamente a la posición de los botones y demás objetos de la ventana, ya que siempre tendrán las mismas coordenadas.

Después de este rollo :smt005 , te recomiendo que ataques a los objetos directamente (no necesitas tener la ventana visible). Esto se hace con las funciones que empizan por Control...... (ejemplo: ControlClick). Es más profesional. Miralas en la ayuda.

Saludos.

Re: Pregunta sobre Mover el raton y hacer click

Publicado: 03 Dic 2009, 01:48
por MaTaXeToS
Perfecto, ya funciona a la perfeccion, muchas gracias :)

Aqui esta el codigo:

Código: Seleccionar todo

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=icon.ico
#AutoIt3Wrapper_outfile=ventrilo1.exe
#AutoIt3Wrapper_Res_Comment=Ejecutar Ventrilo y entrar en el servidor
#AutoIt3Wrapper_Res_Description=Ejecutar Ventrilo y entrar en el servidor
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=MaTaXeToS
#AutoIt3Wrapper_Res_Language=3098
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Opt("MouseCoordMode", 0)

Run("Ventrilo 2.1.4.exe")
WinWaitActive("Ventrilo 2.1.4", "&No")
Send("!n")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{TAB}")
Send("{ENTER}")

MouseMove(0,0,0)
sleep(1000)
MouseMove(50,150)
sleep(1000)
MouseDown("right")
MouseUp("right")
sleep(100)
MouseMove(70,220)
sleep(500)
MouseMove(200,220)
sleep(100)
MouseDown("left")
MouseUp("left")
sleep(100)
Send("6557vf")
Send("{ENTER}")
MouseMove(50,200)
MouseDown("left")
MouseUp("left")
MouseDown("left")
MouseUp("left")