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. :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

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:
Imagen

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 ;-)