Simular un click del mouse

javierHR
01 de Junio del 2004
Como puedo generar un click derecho. Sin el mouse. Estoy creando un tutorial de una aplicación que cree... y necesito dar un ejemplo animado, ya muevo un dibujo de puntero del mouse sobre el Glass Pane, pero me falta simular el click.

Martin
01 de Junio del 2004
Estimado Javier, llevo un par de días intentando hacer exactamente eso "simular un click" o lo que es lo mismo enviar un evento similar, lo necesito para un curso que vamos a realizar y me es muy importante, mira... yo he estado provando con algunas API'S que te podrian dar un poco de luz, pero que conste que a mi no me funcionan:
Const WM_LBUTTONDOWN = &H201
Const WM_LBUTTONUP = &H202
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

Y ahora el proceso :

Dim l 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
l = 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)
l = 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
l = PostMessageBynum(Command1.hwnd, WM_LBUTTONDOWN, 0&, PosXY)
l = PostMessageBynum(Command1.hwnd, WM_LBUTTONUP, 0&, PosXY)

esto mueve el puntero y pulsa un boton, pero esta referido a un boton delpropio formulario VB y no al exterior que es lo que queremos, un saludo.

chuidiang
01 de Junio del 2004
En java está la clase Robot que permite simular los eventos de teclado y ratón. A ver si os sirve...

Sed buenos.