Rubrik: Maus & Tastatur · Maus | VB-Versionen: VB4, VB5, VB6 | 25.11.00 |
So wie mit Sendkeys Tastaturanschläge simuliert werden können, läßt sich mit nachfolgender Prozedur ein Mausklick simulieren. Auch ein Doppelklick ist möglich.
Wie? Na ja, wie fast immer - mit Hilfe der Windows-API.
' Benötigte Deklarationen
Private Declare Sub mouse_event Lib "user32" _
Alias "mouse_event" ( _
ByVal dwFlags As Long, _
ByVal dx As Long, _
ByVal dy As Long, _
ByVal cButtons As Long, _
ByVal dwExtraInfo As Long)
Public Const MOUSE_LEFT = 0
Public Const MOUSE_MIDDLE = 1
Public Const MOUSE_RIGHT = 2
' Die nachfolgende Prozedur simuliert den gewünschten Mausklick.
Public Sub SendMausklick(ByVal mButton 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
If (mButton = MOUSE_LEFT) Then
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
ElseIf (mButton = MOUSE_MIDDLE) Then
Call mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
Else
Call mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
Call mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
End If
End Sub
Beispiel:
' linke Maustaste
SendMausklick MOUSE_LEFT
' rechte Maustaste
SendMausklick MOUSE_RIGHT
' linke Maustaste Doppelklick
SendMausklick MOUSE_LEFT
SendMausklick MOUSE_LEFT