5
Январь
2009
Как имитировать нажатия кнопки на мышке?
Как имитировать нажатия кнопки на мышке?
'Код не совсем доработан и работает только на левую клавишу
Option Explicit
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 Const MOUSEEVENTF_MIDDLEDOWN = &H20
Private Const MOUSEEVENTF_MIDDLEUP = &H40
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Private Enum ButtonClick
btcLeft
btcRight
btcMiddle
End Enum
Dim ButtonLeft As Double
Dim ButtonRight As Double
Dim ButtonMiddle As Double
Private Function MouseClick(ByVal MBClick As ButtonClick) As Boolean
Dim cbuttons As Long
Dim dwExtraInfo As Long
Dim mevent As Long
Select Case MBClick
Case ButtonLeft
mevent = MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP
Me.Caption = "Левая кнопка"
Case ButtonRight
mevent = MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP
Me.Caption = "Правая кнопка"
Case ButtonMiddle
mevent = MOUSEEVENTF_MIDDLEDOWN Or MOUSEEVENTF_MIDDLEUP
Me.Caption = "Средняя кнопка"
Case Else
MouseClick = False
Exit Function
End Select
mouse_event mevent, 0&, 0&, cbuttons, dwExtraInfo
MouseClick = True
End Function
Private Sub Command1_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Call MouseClick(ButtonLeft)
End Sub