MouseClick en VB ?¿?¿?¿?

Iniciado por Hendrix, 2 Marzo 2006, 18:41 PM

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

Hendrix

Weno, mi intencion es programar un programa que al iniciarse haga un Click de raton en el centro de la pantalla....

No pido el kode (puesto que lo quiero programar yo) solo pido ayuda, que apis uso????

Salu2 y gracias

Hendrix

"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

Sancho.Mazorka

mira esta es la API para posicionar el mouse:

Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

esta para hacer clicks:

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

y estas son las constantes de los clicks:

Const MOUSEEVENTF_MOVE = &H1 '  movimiento del mouse
Const MOUSEEVENTF_LEFTDOWN = &H2 '  botón izquierdo presionado
Const MOUSEEVENTF_LEFTUP = &H4 '  botón izquierdo soltado
Const MOUSEEVENTF_RIGHTDOWN = &H8 '  botón derecho presionado
Const MOUSEEVENTF_RIGHTUP = &H10 '  botón derecho soltado
Const MOUSEEVENTF_MIDDLEDOWN = &H20 '  botón central presionado
Const MOUSEEVENTF_MIDDLEUP = &H40 ' botón central soltado
Const MOUSEEVENTF_ABSOLUTE = &H8000 '  movimiento absoluto


esta es una pequeña ayuda ya q es muy dificil:

mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, X, Y, 0, 0


eso te haria q haga los clicks donde este el mouse, la primera linea es para hacer el click y la segunda es para soltar el click xq o si no te lo mantiene apretado y en X va la coordenada X o en Y va la coordenada Y o vbnullstring, y si queres q la makian lo ponga y hjaga click ahi hace usa la primer API q te di.

PD: espero q te sirva avisame! Salu2

Sancho.Mazorka     :P
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



Hendrix

Muchas gracias Sancho!!!! pero esto haria el clik en la koordenada 0,0????

La coordenade de enmedio komo se hace????

Weno, Muchas gracias.... ;) ;) ;)

Salu2

Hendrix

"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

.Slasher-K.


Property Get MidScreenX()As Long
  MidScreenX = (Screen.Width / Screen.TwipsPerPixelX) / 2
End Sub

Property Get MidScreenY()As Long
  MidScreenY = (Screen.Height / Screen.TwipsPerPixelY) / 2
End Sub


Hendrix

Slasher, esto me da las koordenadas del centro de la pantalla no??? Ahora komo lo "implanto" al kode de Sancho??? Asi:

mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, MidScreenX , MidScreenY
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, MidScreenX , MidScreenY


Sta bien asi???? :-\ :-\ :-\

Weno, Gracias por kontestar...

Salu2

Hendrix

"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

.Slasher-K.

Otra opción.


Sub MidScreenClick()
  Call SendMessage(WindowFromPoint(MidScreenX, MidScreenY), WM_LBUTTONDOWN, ByVal 0&, ByVal 0&)
  Call SendMessage(WindowFromPoint(MidScreenX, MidScreenY), WM_LBUTTONUP, ByVal 0&, ByVal 0&)
End Sub