Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: BahiereTTi en 27 Julio 2011, 07:44 am



Título: Clickear sin mover mouse
Publicado por: BahiereTTi en 27 Julio 2011, 07:44 am
Bueno, hay un tal macrocrack que hace click en una coordenada todo el tiempo sin mover el mouse...

Quiero lograrlo, pero no me sale.

Lo único que logro es mover el mouse a esa coordenada automaticamente.

Pienso que la única formar de clickear en una coordenada es con el MOUSE, pero el "MACROCRACK" tiene un autoclickear en una ubicación sin mover el mouse a esa coordenada.


Título: Re: Clickear sin mover mouse
Publicado por: ŞCØRPIØN-X3 en 27 Julio 2011, 23:45 pm
claro que se puede xD, no es muy complicado, puedes usar la funcion mouse_event para realizar los click


Título: Re: Clickear sin mover mouse
Publicado por: Elemental Code en 28 Julio 2011, 03:19 am
busca como hacer un hook al mouse y un ejemplo de autockicker creo que es de blackzerox


Título: Re: Clickear sin mover mouse
Publicado por: raul338 en 28 Julio 2011, 03:23 am
Busca sobre como usar SendInput (http://msdn.microsoft.com/en-us/library/ms646310%28v=vs.85%29.aspx)
y INPUT Structure (http://msdn.microsoft.com/en-us/library/ms646270%28v=vs.85%29.aspx) (junto a MOUSEINPUT Structure (http://msdn.microsoft.com/en-us/library/ms646273%28v=vs.85%29.aspx))

Hay un hilo abierto por LeandroA sobre la misma pregunta :P


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 28 Julio 2011, 03:42 am
Me están dando muchas cosas para estudiar en Ingles.


Me aseguran que esto me llevaría al exito de lo que quiero?

Me pueden explicar algo ustedes?


Título: Re: Clickear sin mover mouse
Publicado por: Elemental Code en 28 Julio 2011, 05:08 am
Aprender VB te va a llevar definitivamente adonde queres llegar :xD >:D


Título: Re: Clickear sin mover mouse
Publicado por: yalosabes en 28 Julio 2011, 09:05 am
Yo  tambien busco la forma de hacer click sin mover el mouse.. alguien podria ayudar??


Título: Re: Clickear sin mover mouse
Publicado por: BlackZeroX en 28 Julio 2011, 10:07 am
SendMessage()

...


Título: Re: Clickear sin mover mouse
Publicado por: Miseryk en 28 Julio 2011, 17:09 pm
Para clickear sin mover el mouse, tenés que dejar la mano fija, te recomiendo presionar el mouse así podés hacer click sin moverlo xDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

En realidad lo que querés hacer es clickear sin mover el cursor (supongo) tal vez ésto ayude -> API mouse_event


Título: Re: Clickear sin mover mouse
Publicado por: calk9 en 2 Agosto 2011, 22:54 pm
SendMessage()

...

Totalmente, millones de ejmplos hay de SendMessage, debes usar esta API.


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 3 Agosto 2011, 19:10 pm
SendMessage (ByVal lParam As Long)

 +

 Make_lParam


Código
  1.  
  2. Function Make_lParam(ByVal x As Integer, ByVal y As Integer) As Long
  3.   Make_lParam = (x And &HFFFF&) Or (y * &H10000)
  4. End Function
  5.  
  6.  








Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 15 Agosto 2011, 18:05 pm
Function Make_lParam(ByVal x As Integer, ByVal y As Integer) As Long
  Make_lParam = (x And &HFFFF&) Or (y * &H10000)
End Function
 

¿?


Así?

Pero, que en un timer pongo frmmain.make

O que?

Y tendría que poner: X = COORDENADA

Y: Y = COORDENADA

Pero, no entiendo ese código.

La cosa es que en un timer pase eso.

¿Pongo ese código en un timer?

Pero donde modifico las coordenadas?


Ayudaaaa


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 15 Agosto 2011, 20:28 pm
Código
  1.  
  2. Option Explicit
  3.  
  4. Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  5.  
  6. Private Sub Form_Load()
  7.  ScaleMode = 3
  8.  Timer1.Interval = 16
  9. End Sub
  10.  
  11. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  12.  
  13.  Static CountClickX15Y15 As Long
  14.  
  15.  If Button = vbLeftButton And x = 15 And y = 15 Then
  16.    CountClickX15Y15 = CountClickX15Y15 + 1
  17.    Caption = CountClickX15Y15
  18.  End If
  19.  
  20. End Sub
  21. Function Make_lParam(ByVal x As Integer, ByVal y As Integer) As Long
  22.  Make_lParam = x Or (y * &H10000)
  23. End Function
  24.  
  25. Private Sub Timer1_Timer()
  26.  Call SendMessage(Me.hwnd, &H201, &H0&, Make_lParam(15, 15))
  27.  Call SendMessage(Me.hwnd, &H202, &H0&, Make_lParam(15, 15))
  28. End Sub
  29.  
  30.  
  31.  




Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 15 Agosto 2011, 20:45 pm
.


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 15 Agosto 2011, 21:19 pm
Gracias...

El 1er codigo va en un modulo y el 2do en el form.

Agrego 1 timer 1 command button.

En el modulo, acá:
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
 
  Static CountClickX15Y15 As Long
 
  If Button = vbLeftButton And x = 630 And y = 390 Then
    CountClickX15Y15 = CountClickX15Y15 + 1
    Caption = CountClickX15Y15
  End If
 
End Sub


Me tiró a CAPTION  "VARIABLE NO DEFINIDA"

¿Como la declaro y en donde me recomendas?


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 15 Agosto 2011, 21:26 pm
Olvidate del segundo código... el pimer codigo va en un Form, eso es lo que pediste, como mandar un Click por coordenadas sin mover el mouse !!!

PD:
 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)

Nunca puede ir en un Módulo...

 





Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 15 Agosto 2011, 21:53 pm
Buenisimo, pero dudas.

1ero, para que el command1 abre el Pinball?
Yo no pedí eso :S

2do

Donde configuro que me haga click?
Donde está para poner la coordenada X y la Y?




Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 15 Agosto 2011, 22:01 pm
Olvidate del codigo del Pinball, ya lo quité para q no te confundas, analizá el codigo que te dejé para entender como mandar un Click a una  coordenada específica de un control  sin mover el mouse !!!


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 15 Agosto 2011, 22:57 pm
Buenisimo, pero me podes explicar como funciona?

Porque no lo entiendo.

Mira como me quedo:  
Option Explicit
 
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
 
Private Sub Form_Load()
  ScaleMode = 3
  Timer1.Interval = 16
End Sub
 
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
 
  Static CountClickX15Y15 As Long
 
  If Button = vbLeftButton And x = 650 And y = 380 Then
    CountClickX15Y15 = CountClickX15Y15 + 1
    Caption = CountClickX15Y15
  End If
 
End Sub
Function Make_lParam(ByVal x As Integer, ByVal y As Integer) As Long
  Make_lParam = x Or (y * &H10000)
End Function
 
Private Sub Timer1_Timer()
  Call SendMessage(Me.hwnd, &H201, &H0&, Make_lParam(650, 380))
  Call SendMessage(Me.hwnd, &H202, &H0&, Make_lParam(650, 380))
End Sub
 




Modifique eso de and y = 15 and x = 15 y lo del timer1  quedo así el timer1:
Private Sub Timer1_Timer()
  Call SendMessage(Me.hwnd, &H201, &H0&, Make_lParam(650, 380))
  Call SendMessage(Me.hwnd, &H202, &H0&, Make_lParam(650, 380))
End Sub
 
650 = x
380 = y



Pero, sigue sin hacer click en esa coordenada .



Igual, gracias por tratar de ayudarme :S


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 16 Agosto 2011, 00:20 am

http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633500(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633500(v=VS.85).aspx)


http://msdn.microsoft.com/en-us/library/aa931003.aspx (http://msdn.microsoft.com/en-us/library/aa931003.aspx)

http://msdn.microsoft.com/en-us/library/ms633519(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633519(v=VS.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633503(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633503(v=VS.85).aspx)



Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 16 Agosto 2011, 01:46 am
Leí, pero no lo entendí.

Osea, es facil decirme que me falta en ese código para que a esa coordenada que está en el timer haga click ahí.


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 16 Agosto 2011, 02:24 am
Creo que te está faltando el Hwnd del control al que le querés enviar el click, y también las coordenadas  ( No de pantalla sino del control) en la que queres que   llegue el click, por eso te sugerí  leér y practicar con ClientToScreen, GetWindowRect, GetClientRect entre otras (para tener idea de coordenadas de pantalla y coordenadas de controles), y tambien tener una idea de como obtener  el manejador  de ventanas y controles (Hwnd) con FindWindow o FindWindowEx entre otras, para enviarles mensajes con SendMessage o PostMessage por ejemplo.
Por ultimo te digo que no todas las ventanas  son iguales y algunas son dificiles de entrarle, amigo, si no lo entendiste con el ejemplo q te dejé ... no podría explicarte todo esto.  ;)   

 
 


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 16 Agosto 2011, 03:54 am
Pero es mucho :S

Yo quiero hacer solo 1 simple cosa, no quiero aprenderme y estudiarme todo :S, no quiero entrar muy adentro al tema, solo hacer lo que plantie en el tema.


Si me ayudarías más profundo te agradecería :S


Para vos debe ser facil pasarme el código completito :$


Título: Re: Clickear sin mover mouse
Publicado por: VanX en 21 Agosto 2011, 01:32 am
una pregunta asi, para que quieres hacer click y que no se vea el mouse  ;D


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 23 Agosto 2011, 03:23 am
Son programas, quiero tratar de llegar a ese objetivo, pero no me ayudan.



Título: Re: Clickear sin mover mouse
Publicado por: someRandomCode en 23 Agosto 2011, 06:16 am
Estan siendo objetivos.
A veces, una "cosa simple", tiene mucho complejo.
Decir quiero hacer un auto es facil, pero estudiarse todo lo de mecanica no lo es.
Te doy un ejemplo mas relacionado? Fijate lo tedioso que es hacer una ventana usando las API de Windows.

Los chicos lo que te estan diciendo es lo que tenes que seguir.
El HWND de un elemento es un identificador que guarda windows del mismo.
En Windows, cada cosa es como una ventana, cada boton, cada menu, cada cosa tiene su HANDLER (un manejador, u identificador).

Lo que se te esta sugiriendo es que uses:

GetWindowRect para obtener una estructura de tipo RECT, que dice las coordenadas de una ventana/control en la pantalla.

FindWindow que encuentra una ventana ya sea por el titulo, o por la clase (la "clase" es un parametro que se le asigna a una ventana/control cuando es creado).

Despues de eso, que uses SendInput para enviar ese click (ese INPUT, que esta definido por una estructura que se llama MOUSEINPUT) para enviarla.

Para saber cual es el HWND del boton/cosa que quieras clickear, si tenes el Spy++(Viene con el Visual Studio) te puede dar una pista al respecto. Sino, lo que tendrias que hacer, es saber el nombre de la clase, saber la ventana donde esta contenido, o --haciendo una solucion re chapucera-- asumiendo que hay un solo boton/control que dice eso, obtener el texto segun la funcion GetDlgItemText y si el texto y la clase son las que corresponden, ahi tenes tu HWND.

Espero que asi lo entiendas, porque le puse todo lo menos tecnico que pude.



Título: Re: Clickear sin mover mouse
Publicado por: BlackZeroX en 23 Agosto 2011, 07:03 am
.
Te doy un ejemplo mas relacionado? Fijate lo tedioso que es hacer una ventana usando las API de Windows.
Crear la ventana es facil... lo TEDIOSO pero no imposible es manipular los eventos que se producen en su CallBack respectivo.

En Windows, cada cosa es como una ventana, cada boton, cada menu...
no son como... son ventanas, almenos que esten dibujadas... msn... algunos juegos que usen OpenGL, SDL, Ogre...

Pero es mucho :S

Yo quiero hacer solo 1 simple cosa, no quiero aprenderme y estudiarme todo :S, no quiero entrar muy adentro al tema, solo hacer lo que plantie en el tema.

Si quieres HACER ALGO DEBES Y TIENES que adentrate en el tema, ya que no puedes crear algo de la nada, programadores hay muchos todos podemos ser programadores sin EXCEPCIÓN alguna, pero ANALISTAS, INVESTIGADORES, LECTORES, COMPETENTES, estre otras caracteristicas, solo pueden serlo muy pocos... independientemende de donde estudies o hayas estudiado.

En dado caso siempre tienes la opcion de contratar a un Analista Programador y pagar por el Codigo Fuente que por cierto te saldra un OJO DE LA CARA.

Dulce Infierno Lunar!¡.


Título: Re: Clickear sin mover mouse
Publicado por: someRandomCode en 23 Agosto 2011, 07:07 am
BlackZeroX[caracteres que me da pereza copiar y pegar, pero se ven cool]:
pa, todo bien, pero dije, estoy tratando de ser lo menos tecnico posible. Dejame ponerle al pibe algo que lo familiarize o le de un toque de calma a ver si lo entiende ;)

Y para alguien que debio ver a alguien mas haciendo Visual Basic, le puede parecer que es facilisimo.

Ademas, los message maps no son tan complicados..

Pero por el resto, aprecio que le aclares, y espero que tome la palabra de todos y se ponga..


Título: Re: Clickear sin mover mouse
Publicado por: BahiereTTi en 24 Agosto 2011, 20:45 pm
Estan siendo objetivos.
A veces, una "cosa simple", tiene mucho complejo.
Decir quiero hacer un auto es facil, pero estudiarse todo lo de mecanica no lo es.
Te doy un ejemplo mas relacionado? Fijate lo tedioso que es hacer una ventana usando las API de Windows.

Los chicos lo que te estan diciendo es lo que tenes que seguir.
El HWND de un elemento es un identificador que guarda windows del mismo.
En Windows, cada cosa es como una ventana, cada boton, cada menu, cada cosa tiene su HANDLER (un manejador, u identificador).

Lo que se te esta sugiriendo es que uses:

GetWindowRect para obtener una estructura de tipo RECT, que dice las coordenadas de una ventana/control en la pantalla.

FindWindow que encuentra una ventana ya sea por el titulo, o por la clase (la "clase" es un parametro que se le asigna a una ventana/control cuando es creado).

Despues de eso, que uses SendInput para enviar ese click (ese INPUT, que esta definido por una estructura que se llama MOUSEINPUT) para enviarla.

Para saber cual es el HWND del boton/cosa que quieras clickear, si tenes el Spy++(Viene con el Visual Studio) te puede dar una pista al respecto. Sino, lo que tendrias que hacer, es saber el nombre de la clase, saber la ventana donde esta contenido, o --haciendo una solucion re chapucera-- asumiendo que hay un solo boton/control que dice eso, obtener el texto segun la funcion GetDlgItemText y si el texto y la clase son las que corresponden, ahi tenes tu HWND.

Espero que asi lo entiendas, porque le puse todo lo menos tecnico que pude.




Mi problema es que no se bien unir todo esto...


Bueno dejen, ya fue, tiro todo el proyecto a la ***** :S, estuve leyendo y no entendí nada...

Solo cuesta esperar que venga alguien bueno y me pase el código completo :S

Para ustedes que saben todo, no les cuesta nada gastar 2 minutos de su vida en un código urgente para ayudarme a mi.


Título: Re: Clickear sin mover mouse
Publicado por: someRandomCode en 24 Agosto 2011, 23:48 pm
Queres codigo?
Código:
#define _WIN32_WINNT 0x403
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstancia, HINSTANCE hAnteriores, LPTSTR ldc, int estado) {
INPUT entrada;
entrada.type = INPUT_MOUSE;
entrada.mi.dx = 0;
entrada.mi.dy = 0;
entrada.mi.mouseData = 0;
entrada.mi.dwFlags = MOUSEEVENTF_ABSOLUTE;
entrada.mi.time = 0;
entrada.mi.dwExtraInfo = 0;
SendInput(1, &entrada, sizeof(INPUT));
}

Es en C, te da un ejemplo de como enviar.
Ahora mangueale a otro un ejemplo de como conseguir usar GetWindowLong para conseguir las coordenadas del boton.

Pedir regalado el codigo es practicamente mala educacion.

Y sino, hace como te dijeron, y pagale a alguien.


Título: Re: Clickear sin mover mouse
Publicado por: BlackZeroX en 25 Agosto 2011, 02:45 am
http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633500(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633500(v=VS.85).aspx)


http://msdn.microsoft.com/en-us/library/aa931003.aspx (http://msdn.microsoft.com/en-us/library/aa931003.aspx)

http://msdn.microsoft.com/en-us/library/ms633519(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633519(v=VS.85).aspx)

http://msdn.microsoft.com/en-us/library/ms633503(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms633503(v=VS.85).aspx)




Título: Re: Clickear sin mover mouse
Publicado por: yalosabes en 28 Agosto 2011, 19:53 pm
Bah...


Yo tambien busco este codigo

pero veo que aqui.. se sienten los muy... "programadores" que te dan referencias y links de lectura..

Si alguien pone una pregunta y pone en claro que no sabe mucho sobre el tema..creo que deberian apoyarlo..

Pero bueh.. veo que ahora responderan a cada pregunta con un enlace de MSDN Library

q verguenza..

Gracias por la GRAN AYUDA


Título: Re: Clickear sin mover mouse
Publicado por: Hasseds en 28 Agosto 2011, 21:26 pm

Bueno, hay un tal macrocrack que hace click en una coordenada todo el tiempo sin mover el mouse...



yalosabes,  Si aunque sea hubieras leido todo el hilo...


http://foro.elhacker.net/programacion_visual_basic/clickear_sin_mover_mouse-t334718.0.html;msg1652116#msg1652116


http://foro.elhacker.net/programacion_visual_basic/wmnchittest-t336567.0.html;msg1652687#msg1652687


Bah...

q verguenza..

Gracias por la GRAN AYUDA



Nada !!!!



Título: Re: Clickear sin mover mouse
Publicado por: BlackZeroX en 28 Agosto 2011, 21:50 pm
Bah...


Yo tambien busco este codigo

pero veo que aqui.. se sienten los muy... "programadores" que te dan referencias y links de lectura..

Si alguien pone una pregunta y pone en claro que no sabe mucho sobre el tema..creo que deberian apoyarlo..

Pero bueh.. veo que ahora responderan a cada pregunta con un enlace de MSDN Library

q verguenza..

Gracias por la GRAN AYUDA

Mucho ayuda quien no estorba dice el dicho, total solo le faltan algunos toques a el codigo ya expuesto de Hasseds con las apis que se hacen referencia, tampoco es un foro de negreros a disposicion.

Dulces Lunas!¡.