Una duda muy basica :$

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
kuv2
Mensajes: 5
Registrado: 24 Jul 2010, 08:46

Una duda muy basica :$

Mensaje por kuv2 »

Buenas,

Hace poco que me interese por este programa y estube investigando un poco y pense que podia sacarle muhca utilidad e intente hacer un script pero no me funciona. Si alguien me pudiera echar una mano con esto:
_________________________________________________________________________________
1-.Seleccionar un Proceso-> Nombre de la Aplicacion:"Alien Swarm" // Nombre del Proceso:"AoS"|
2-.Repetir el bucle de abajo |
|
<bucle> |
2-.Send("{F11}") |
<Esperar tiempo=5segundos> |
3-.Send("{F12}") |
<Esperar tiempo=5segundos> |
4-.Send("{SPACE}") |
<Esperar tiempo=5segundos> |
<bucle> |
_________________________________________________________________________________|
¿Como se haria?
Gracias de Antemano
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Una duda muy basica :$

Mensaje por gna08 »

No entiendo un par de cosas. :smt017 como por ejemplo seleccionar un proceso.. emm.. o a una ventana te referis? :smt031 +
y k kieres hacer. digamos k seria lo k explicas ahi pero trasnkripto a au3??

Algo asi.. sin lo del proceso..

Código: Seleccionar todo

;;;; ACA LO DEL PROCESO QUE NOSE A KE TE REFERIS ;;;
While 1
    Send("{F11}")
    Sleep(5000)
    Send("{F12}")
    Sleep(5000)
    Send("{SPACE}")
    Sleep(5000)
WEnd
Comentame bien.. saludos :smt006
Aunk no m Buskes, Seguro m enkontras!
kuv2
Mensajes: 5
Registrado: 24 Jul 2010, 08:46

Re: Una duda muy basica :$

Mensaje por kuv2 »

Con lo del proceso me refiero para que cuando le mande ordenes el autoit al programa lo mande a un proceso especifico y no a una ventana.
Por ejemplo k yo pueda tener el programa minimizado y aun asi el autoit este mandando ordenes.
y si a .au3 thx

:)

Muchas Gracias por la Rapida respuesta ;)
Avatar de Usuario
Alastor
Aprendiz de Mago
Mensajes: 59
Registrado: 13 Dic 2009, 14:27
Ubicación: Zaragoza, España
Contactar:

Re: Una duda muy basica :$

Mensaje por Alastor »

Que yo sepa 'ControlSend' funciona aunque tengas la ventana minimizada.
Funciona igual que send, pero tienes que especificar el nombre del control de la ventana (lo puedes mirar con 'AutoIt window info')

Código: Seleccionar todo

ControlSend ( "title", "text", controlID, "string" [, flag] )
Aprendiendo AutoIt y C++
kuv2
Mensajes: 5
Registrado: 24 Jul 2010, 08:46

Re: Una duda muy basica :$

Mensaje por kuv2 »

Alastor escribió:Que yo sepa 'ControlSend' funciona aunque tengas la ventana minimizada.
Funciona igual que send, pero tienes que especificar el nombre del control de la ventana (lo puedes mirar con 'AutoIt window info')

Código: Seleccionar todo

ControlSend ( "title", "text", controlID, "string" [, flag] )
mmmm :) ,

Entonces ¿Sería así?:

ControlSend ( "Alien Swarm", "text", controlID, "string" [, flag] )

Lo demas no se rellenarlo:

Aqui Informacion del Sumary :
Title: Alien Swarm
Class: GxWindowClassD3d
Style: 0x16CF0000
ExStyle: 0x00040100
Handle: 0x0000000000360B0C
Avatar de Usuario
gna08
Hacker del Foro
Mensajes: 379
Registrado: 27 Sep 2008, 18:51
Ubicación: Cordoba, Argentina

Re: Una duda muy basica :$

Mensaje por gna08 »

kuv2 escribió:
Alastor escribió:Que yo sepa 'ControlSend' funciona aunque tengas la ventana minimizada.
Funciona igual que send, pero tienes que especificar el nombre del control de la ventana (lo puedes mirar con 'AutoIt window info')

Código: Seleccionar todo

ControlSend ( "title", "text", controlID, "string" [, flag] )
mmmm :) ,

Entonces ¿Sería así?:

ControlSend ( "Alien Swarm", "text", controlID, "string" [, flag] )

Lo demas no se rellenarlo:

Aqui Informacion del Sumary :
Title: Alien Swarm
Class: GxWindowClassD3d
Style: 0x16CF0000
ExStyle: 0x00040100
Handle: 0x0000000000360B0C
Seria:

ControlSend ("Alien Swarm", "", "ACA EL CONTROL, "y aca lo k kieras enviar.. y sea enter. etc.." )

Revisa bien los datos del CONTROL..
Aunk no m Buskes, Seguro m enkontras!
kuv2
Mensajes: 5
Registrado: 24 Jul 2010, 08:46

Re: Una duda muy basica :$

Mensaje por kuv2 »

gna08 escribió:
kuv2 escribió:
Alastor escribió:Que yo sepa 'ControlSend' funciona aunque tengas la ventana minimizada.
Funciona igual que send, pero tienes que especificar el nombre del control de la ventana (lo puedes mirar con 'AutoIt window info')

Código: Seleccionar todo

ControlSend ( "title", "text", controlID, "string" [, flag] )
mmmm :) ,

Entonces ¿Sería así?:

ControlSend ( "Alien Swarm", "text", controlID, "string" [, flag] )

Lo demas no se rellenarlo:

Aqui Informacion del Sumary :
Title: Alien Swarm
Class: GxWindowClassD3d
Style: 0x16CF0000
ExStyle: 0x00040100
Handle: 0x0000000000360B0C
Seria:

ControlSend ("Alien Swarm", "", "ACA EL CONTROL, "y aca lo k kieras enviar.. y sea enter. etc.." )

Revisa bien los datos del CONTROL..
·como podria hacer para k por ejemplo cuando presione F8 empiece el cliclo?
·en control k tengo k poner? o de donde lo consigo?
·[Suponiendo que e puesto el control bien] esto de abajo estaria bien?
While 1
ControlSend ("Alien Swarm", "", ", "F11")
Sleep(5000)
ControlSend ("Alien Swarm", "", ", "F12")
Sleep(5000)
ControlSend ("Alien Swarm", "", ", "SPACE")
Sleep(5000)
WEnd
Avatar de Usuario
Alastor
Aprendiz de Mago
Mensajes: 59
Registrado: 13 Dic 2009, 14:27
Ubicación: Zaragoza, España
Contactar:

Re: Una duda muy basica :$

Mensaje por Alastor »

kuv2 escribió: ·como podria hacer para k por ejemplo cuando presione F8 empiece el cliclo?
·en control k tengo k poner? o de donde lo consigo?
·[Suponiendo que e puesto el control bien] esto de abajo estaria bien?
While 1
ControlSend ("Alien Swarm", "", ", "F11")
Sleep(5000)
ControlSend ("Alien Swarm", "", ", "F12")
Sleep(5000)
ControlSend ("Alien Swarm", "", ", "SPACE")
Sleep(5000)
WEnd
El control lo puedes mirar aqui:
Imagen

El bucle no te lo voy a hacer, ya que aprenderas mejor si lo haces tu (es muy facil, solo necesitas HotKeySet())
Aprendiendo AutoIt y C++
kuv2
Mensajes: 5
Registrado: 24 Jul 2010, 08:46

Re: Una duda muy basica :$

Mensaje por kuv2 »

Ya casi esta terminado pero tengo un par de dudillas xD ahí van:


·Suponiendo k kiero k aga 2 clicks cada 300ms en las coordenadas x:125 y:585 Como se rellenaría?

MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

·Duda numero dos: Suponiendo k e puesto bien lo de los clicks lo de abajo estaria bien?
____________________________________________________________________________________
HotKeySet("{F9}", "hide")
HotKeySet("{F10}", "show")

AutoItSetOption("WinTitleMatchMode", 4)
While 1
Sleep(1000)
WEnd

Func hide()
Global $Show = 0
Global $handle = WinGetHandle("classname=GxWindowClassD3d")
WinSetState($handle, "", @SW_MINIMIZE)
WinSetState($handle, "", @SW_HIDE)
If @error Then
MsgBox(0, "error", "couldnt find WoW")
Else
While 1
$unique = Random(1)
If $unique = 1 Then
Sleep(500)
ControlSend($handle, "", "", "{H}")
Sleep(500)
ControlSend($handle, "", "", "{MouseClick("left",*******************************************)}")
Sleep(500)
ControlSend($handle, "", "", "{F11}")
Sleep(500)
ControlSend($handle, "", "", "{F12}")
Sleep(500)
ControlSend($handle, "", "", "{SPACE}")
Sleep(500)
ControlSend($handle, "", "", "{MouseClick("left", *******************************")}")
Sleep(500)
ControlSend($handle, "", "", "{H}")
Sleep(500)
WEnd
EndIf
EndFunc ;==>hide

Func show()
Global $Show = 1
WinSetState("Alier Swarm", "", @SW_SHOW)
WinSetState("Alier Swarm", "", @SW_MAXIMIZE)
WinActivate($handle, "")
EndFunc ;==>show
________________________________________________________________________________
Avatar de Usuario
Alastor
Aprendiz de Mago
Mensajes: 59
Registrado: 13 Dic 2009, 14:27
Ubicación: Zaragoza, España
Contactar:

Re: Una duda muy basica :$

Mensaje por Alastor »

kuv2 escribió:Ya casi esta terminado pero tengo un par de dudillas xD ahí van:


·Suponiendo k kiero k aga 2 clicks cada 300ms en las coordenadas x:125 y:585 Como se rellenaría?

MouseClick ( "button" [, x, y [, clicks [, speed ]]] )

Código: Seleccionar todo

For $temp = 0 To 1
	MouseClick("left", 125, 585, 2, 0)
	Sleep(300)
Next
Aprendiendo AutoIt y C++
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Una duda muy basica :$

Mensaje por Ximorro »

Si todo el programa va a usar esa latencia puedes usar una opción que precisamente es para decir cada cuánto hay que esperarse en dos consecutivos clics:

Código: Seleccionar todo

Opt("MouseClickDelay", 300) ;Por defecto es 10
MouseClick("left", 125, 585, 2, 0)
Ojo que el ejemplo del For no es del todo correcto, eso hace dos DOBLES CLICK separados 300ms, es decir, hace 4 clics, rápidos dos a dos.
Basta con cambiar el 2 por un 1 para que haga un clic, espere, y luego el segundo clic. Seguramente ha sido cosa del copy-paste, a mí me pasa continuamente ;-)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder