Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: nhaalclkiemr en 3 Junio 2007, 21:15 pm



Título: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: nhaalclkiemr en 3 Junio 2007, 21:15 pm
Pues bien quiero hacer un programa k haga lo siguiente y k es muy sencillo:

1º- Mueve el raton a una cordenada X,Y específicas
2º- Hace click
3º- Espera 5 segundos
4º-Mueve el raton a una cordenada X,Y aleatoria, k esté comprendido en un campo, por ejemplo desde (200,200) y (1000x1000)
5º- Hace click
6º- Espera 5 segundos


Weno, pues la espera de 5 segundos la hago facilmente con un Timer, y lo de las cordenadas aleatorias con un Randomice...lo k me interesa es komo puedo hacer para mover el cursor a unas cordenadas especificas X,Y y como puedo hacer k el programa haga click...

Saludos  ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: b01n4v3rt en 3 Junio 2007, 21:23 pm
sinceramente, ni idea, yo tambien he querido hacer un programa así,
si alguien responde será de gran ayuda.


Por cierto, ten en cuenta que si usas el programa en otro pc
o lo mandas a otro pc y éste tiene una resolución distinta,
las cordenadas ya no son las mismas xD.


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: nhaalclkiemr en 3 Junio 2007, 21:44 pm
Citar
Por cierto, ten en cuenta que si usas el programa en otro pc
o lo mandas a otro pc y éste tiene una resolución distinta,
las cordenadas ya no son las mismas xD.

Si eso ya lo sé, pero es para mi ordenador trankilo...

Además podrías hacer k el programa leyese la resolucion de la pantalla del otro PC y ya estaría  ;D ;D jejeje

Weno, pues haber si alguien nos ayuda...tampoco creo k sea tan dificil mover el cursor a una posicion determinada y hacer click

Saludos ;) ;) ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: Karcrack en 3 Junio 2007, 22:48 pm
que verguenza  ;D intentando hacer trampas en el concurso de Msgplus  ;D, a mi tambien se me ocurrio la idea :rolleyes:. En este foro se ha hablado de eso. Busca sobre mouseevents o algo así  :-\


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: Hendrix en 3 Junio 2007, 23:25 pm
Apis necesarias:

   - SetCursorPos
   - mouse_event

Recomendación:

   - Descarguense la API Guide  ;)

Un Saludo.  ;)



Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: Tughack en 4 Junio 2007, 07:12 am
jejeje pues yo hice uno, aun asi soy yo kien hace los click pues hay muchas cosas k corren mal al ser automatico. Ahora estoy intentando hacer uno con el protocolo, ya se como son echas las peticiones y ahora si se puede hacer automatico. Lastima k termina pronto el concurso :S

Salu2 ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: nhaalclkiemr en 4 Junio 2007, 21:19 pm
Jejeje, me pillasteis ;D ;D

Yo hice uno k funciona bien, gracias Hendrix!!

lo k hace es muy sencillo, hace clicks aleatorios en la ventana de MsgPlus y despues pulsa el botod "intentar de nuevo" es muy sencillo...

Eso si...lo he tenido toda la noche y dia y nada...no lo he conseguido...ahora tambien solo me preocupa una cosa...En caso hipotetice de k acertara se supone k el raton va a seguir haciendo clicks por la ventana, y entonces a saber k pulsa...

Código:
Ahora estoy intentando hacer uno con el protocolo, ya se como son echas las peticiones y ahora si se puede hacer automatico

Nos podrías explicar como se hacen esas peticiones??

Gracias a todos y saludos  ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: Tughack en 4 Junio 2007, 21:27 pm
Buneo use un http sniffer y consegui saber como son los GET's y el host k usa etc...

Despues solo uso inet... pero en este momento no lo estoy haciendo pork tuve unos problemas con el pc y aun los estoy solucionando.

Salu2 ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: nhaalclkiemr en 4 Junio 2007, 22:23 pm
Pues cuando termines pasame el proyecto a ver...

Mi codigo fuente es muy sencillo:
Código:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Código:
Private Sub Command1_Click()
Dim MOUSEEVENTF_LEFTDOWN As Long
Dim MOUSEEVENTF_LEFTUP As Long
Dim x As Long
Dim y As Long
Dim i As Long
MOUSEEVENTF_LEFTUP = &H4
MOUSEEVENTF_LEFTDOWN = &H2
f:
For i = 1 To 100000
    Randomize
    x = Int((Rnd * 700) + 3) ' 3 depende de la posición de la ventana de MsgPlus
    y = Int((Rnd * 765) + 152) ' 152 depende de la posición de la ventana de MsgPlus
    SetCursorPos x, y
    Sleep 50
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    Sleep 3000
    SetCursorPos 236, 422 ' Coloca el cursor en el boton "Intentar de nuevo", varia segun la posicion de la ventana de MSgPlus
    Sleep 50
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    Sleep 3000
Next i
Sleep 1000
GoTo f
End Sub

Ademas se blokea y para terminarlo hay k hacerlo bruscamente...pero weno...de moemento sirve...lo malo es k no hay suerte jejeje

Saludos ;)

Saludos ;)


Título: Re: Mover el cursor a cordenadas X,Y y hacer click
Publicado por: Tughack en 4 Junio 2007, 22:38 pm
Se blokea pork te falta un DoEvents, mira:

Código:
Private Sub Command1_Click()
Dim MOUSEEVENTF_LEFTDOWN As Long
Dim MOUSEEVENTF_LEFTUP As Long
Dim x As Long
Dim y As Long
Dim i As Long
MOUSEEVENTF_LEFTUP = &H4
MOUSEEVENTF_LEFTDOWN = &H2
f:
For i = 1 To 100000
    DoEvents
    Randomize
    x = Int((Rnd * 700) + 3) ' 3 depende de la posición de la ventana de MsgPlus
    y = Int((Rnd * 765) + 152) ' 152 depende de la posición de la ventana de MsgPlus
    SetCursorPos x, y
    Sleep 50
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    Sleep 3000
    SetCursorPos 236, 422 ' Coloca el cursor en el boton "Intentar de nuevo", varia segun la posicion de la ventana de MSgPlus
    Sleep 50
    mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
    mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
    Sleep 3000
Next i
Sleep 1000
GoTo f
End Sub

Salu2

EDIT: Ademas no deberias hacer el loop de esa forma, un for con un goto  :-\

Ponele un Do - Loop :)