Rubrik: Maus & Tastatur · Maus | VB-Versionen: VB4, VB5, VB6 | 25.11.00 |
Mausklick simulieren So wie mit Sendkeys Tastaturanschläge simuliert werden können, läßt sich mit nachfolgender Prozedur ein Mausklick simulieren. Auch ein Doppelklick i... | ||
Autor: Dieter Otter | Bewertung: | Views: 37.787 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
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