Simular pulsaciones del mouse

Iniciado por aaronduran2, 24 Marzo 2008, 19:37 PM

0 Miembros y 1 Visitante están viendo este tema.

aaronduran2

Quisiera saber si hay alguna manera de simular pulsaciones del mouse con APIs. He intentado hacerlo con algunos ejemplos que he encontrado pero no soy capaz.

Gracias de antemano.

((( SPAWN )))

Hola proba con esto


Private Declare Function PostMessageBynum Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long           'enviar mensajes al control
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long    'posicionar el puntero del ratón
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long           'obtener la posición del control
Private Type RECT
         Left As Long
         Top As Long
         Right As Long
         Bottom As Long
End Type
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202

Private Sub Command1_Click()
    MsgBox "HOLA"
End Sub

Private Sub Command2_Click()
Dim rsp As Long, PosX As Long, PosY As Long, PosXY As Long
Dim lpRect As RECT
    'conocer las posición del botón relativa a la pantalla, en pixels
    rsp = GetWindowRect(Command1.hwnd, lpRect)
    'colocar el ratón sobre el centro del botón
    PosX = lpRect.Left + ((lpRect.Right - lpRect.Left) / 2)
    PosY = lpRect.Top + ((lpRect.Bottom - lpRect.Top) / 2)
    rsp = SetCursorPos(PosX, PosY)
    'obtener la posicion del centro del control relativa al propio control,
    'en pixels
    'no es obligatorio, es para que las coordenadas recibidas en el mousedown
    'del control sean coherentes
    'la posicion y va en la palabra alta y la x en la baja
    PosXY = (PosY - lpRect.Top) * 65536 + (PosX - lpRect.Left)
    'simular el click del ratón
    rsp = PostMessageBynum(Command1.hwnd, WM_LBUTTONDOWN, 0&, PosXY)
    rsp = PostMessageBynum(Command1.hwnd, WM_LBUTTONUP, 0&, PosXY)
End Sub


Saludos.

Cita de: EON + = SOLUCIÓN