Mover el cursor a cordenadas X,Y y hacer click

Iniciado por nhaalclkiemr, 3 Junio 2007, 21:15 PM

0 Miembros y 2 Visitantes están viendo este tema.

nhaalclkiemr

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  ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

b01n4v3rt

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.

nhaalclkiemr

CitarPor 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 ;) ;) ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Karcrack

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í  :-\

Hendrix

Apis necesarias:

   - SetCursorPos
   - mouse_event

Recomendación:

   - Descarguense la API Guide  ;)

Un Saludo.  ;)

"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián

Tughack

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

nhaalclkiemr

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

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  ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Tughack

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

nhaalclkiemr

Pues cuando termines pasame el proyecto a ver...

Mi codigo fuente es muy sencillo:
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)


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 ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Tughack

#9
Se blokea pork te falta un DoEvents, mira:


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