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)Private Const MOUSEEVENTF_LEFTDOWN = &H2Private Const MOUSEEVENTF_LEFTUP = &H4Private Const MOUSEEVENTF_MIDDLEDOWN = &H20Private Const MOUSEEVENTF_MIDDLEUP = &H40Private Const MOUSEEVENTF_RIGHTDOWN = &H8Private Const MOUSEEVENTF_RIGHTUP = &H10'simulate the MouseDown eventPrivate Sub ButtonDown(Optional ByVal Button As MouseButtonConstants = _ vbLeftButton) Dim lFlag As Long If Button = vbLeftButton Then lFlag = MOUSEEVENTF_LEFTDOWN ElseIf Button = vbMiddleButton Then lFlag = MOUSEEVENTF_MIDDLEDOWN ElseIf Button = vbRightButton Then lFlag = MOUSEEVENTF_RIGHTDOWN End If mouse_event lFlag, 0, 0, 0, 0End Sub'simulate the MouseUp eventPrivate Sub ButtonUp(Optional ByVal Button As MouseButtonConstants = _ vbLeftButton) Dim lFlag As Long If Button = vbLeftButton Then lFlag = MOUSEEVENTF_LEFTUP ElseIf Button = vbMiddleButton Then lFlag = MOUSEEVENTF_MIDDLEUP ElseIf Button = vbRightButton Then lFlag = MOUSEEVENTF_RIGHTUP End If mouse_event lFlag, 0, 0, 0, 0End Sub'simulate the MouseClick eventPrivate Sub ButtonClick(Optional ByVal Button As MouseButtonConstants = _ vbLeftButton) ButtonDown Button ButtonUp ButtonEnd Sub'simulate the MouseDblClick eventPrivate Sub ButtonDblClick(Optional ByVal Button As MouseButtonConstants = _ vbLeftButton) ButtonClick Button ButtonClick ButtonEnd Sub


The Best Mechanical Keyboards For Programmers: Where To Find Them
When it comes to programming, a good mechanical keyboard can make all the difference. Naturally, you would want one of the best mechanical keyboards for programmers. But with so many