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 = &H2 '模拟鼠标左键按下
Private Const MOUSEEVENTF_LEFTUP = &H4
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 4 Then
Timer1.Enabled = True
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 4 Then
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '最好加个抬起鼠标,否则有可能一直卡着鼠标不抬起来
Timer1.Enabled = False
End If
End Sub
Private Sub Timer1_Timer()
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
End Sub
大概是这个意思吧,鼠标中键是 button=4 ,这个是必须窗体在焦点才可以,如果想做后台的还是比较麻烦,用热键OCX或者是全局钩子,探测鼠标事件。