Página 1 de 1
Una duda muy basica :$
Publicado: 24 Jul 2010, 08:57
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
Re: Una duda muy basica :$
Publicado: 24 Jul 2010, 10:16
por gna08
No entiendo un par de cosas.
como por ejemplo seleccionar un proceso.. emm.. o a una ventana te referis?
+
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
Re: Una duda muy basica :$
Publicado: 24 Jul 2010, 12:03
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 ;)
Re: Una duda muy basica :$
Publicado: 24 Jul 2010, 12:15
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] )
Re: Una duda muy basica :$
Publicado: 24 Jul 2010, 19:50
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
Re: Una duda muy basica :$
Publicado: 25 Jul 2010, 02:44
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..
Re: Una duda muy basica :$
Publicado: 25 Jul 2010, 06:41
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
Re: Una duda muy basica :$
Publicado: 25 Jul 2010, 09:59
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:
El bucle no te lo voy a hacer, ya que aprenderas mejor si lo haces tu (es muy facil, solo necesitas
HotKeySet())
Re: Una duda muy basica :$
Publicado: 25 Jul 2010, 19:30
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
________________________________________________________________________________
Re: Una duda muy basica :$
Publicado: 27 Jul 2010, 22:23
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
Re: Una duda muy basica :$
Publicado: 28 Jul 2010, 08:57
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