MousedbClick




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)

Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10

Private Declare Function GetAsyncKeyState Lib "user32" _
(ByVal vKey As Long) As Integer


Private Sub Timer1_Timer()
'butt1 = GetAsyncKeyState(1)

butt2 = GetAsyncKeyState(4)
'butt3 = GetAsyncKeyState(2)


If butt2 < 0 Then
'next two lines simulate doubleclick

mouse_event MOUSEEVENTF_LEFTDOWN Or
MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
mouse_event MOUSEEVENTF_LEFTDOWN Or
MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI

Do While GetAsyncKeyState(4) < 0
DoEvents
Loop

End If
End Sub


Assumes:
Program needs one timer control with short time interval

Side Effects:
Some mouse drivers have other purposes with middle
mouse button (such as Logitech on scrollboxes) which may
interfere with execution of the program












( mousedbclick.html )- by Paolo Puglisi - Modifica del 17/12/2023