Rubrik: Maus & Tastatur · Maus | VB-Versionen: VB4, VB5, VB6 | 30.05.01 |
Maus positionieren und Klick simulieren Mit Hilfe dieser Routine lassen sich Mausklicks an beliebiger Stelle simulieren. | ||
Autor: Torsten Kerz | Bewertung: | Views: 82.998 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
In einem früheren Tipp haben wir Ihnen schon einmal gezeigt, wie man einen Mausklick per Programmcode simulieren kann, so als wäre tatsächlich auf eine Maustaste gedrückt worden. Unser heutiger Tipp zeigt zusätzlich noch, wie man den Mauszeiger an eine ganz bestimmte Position auf dem Bildschirm positionieren kann.
' zunächst die benötigten API-Deklarationen 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_ABSOLUTE = &H8000 Private Const MOUSEEVENTF_LEFTDOWN = &H2 Private Const MOUSEEVENTF_LEFTUP = &H4 Private Const MOUSEEVENTF_MIDDLEDOWN = &H20 Private Const MOUSEEVENTF_MIDDLEUP = &H40 Private Const MOUSEEVENTF_MOVE = &H1 Private Const MOUSEEVENTF_RIGHTDOWN = &H8 Private Const MOUSEEVENTF_RIGHTUP = &H10
Maus positionieren und Mausklick simulieren
' Mausklick simulieren mit optionaler Angabe der ' Koordinaten, an welche der Mauszeiger autom. ' positioniert werden soll Public Sub Mausklick(Optional Button As _ MouseButtonConstants = vbLeftButton, _ Optional XPos As Long = -1, _ Optional YPos As Long = -1) ' Mauszeiger positionieren If XPos <> -1 Or YPos <> -1 Then mouse_event MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, _ XPos / Screen.Width * 65535, _ YPos / Screen.Height * 65535, 0, 0 End If ' Mausklick simulieren Select Case Button ' linke Maustaste Case vbLeftButton mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ' mittlere Maustaste Case vbMiddleButton mouse_event MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0 mouse_event MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0 ' rechte Maustaste Case vbRightButton mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0 mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0 End Select End Sub
Beispiele
' Maus auf dem Bildschirm zentrieren ohne Klick Mausklick 0, Screen.Width / 2, Screen.Height / 2 ' Mit rechts auf die Bildschirmmitte klicken Mausklick vbRightButton, Screen.Width / 2, _ Screen.Height / 2 ' Klicken, ohne Positionsveränderung Mausklick vbRightButton