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


Оставить комментарий

Я не робот.