Virtueller Mausklick

Hallo Experten!

Ich hab mal wieder ne Frage!

Ich habe meinen Mauszeiger bereits an einer bestimmten Stelle positioniert und will nun einen Mausklick auslösen! Wie geht das?

Viele Grüße

Rodario

Hallo Rodario

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\_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

Public Sub Mausklick(Optional Button As \_
 MouseButtonConstants = vbLeftButton, \_
 Optional XPos As Long = -1, \_
 Optional YPos As Long = -1)
 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
 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

'Ein Aufruf könnte wiefolgt ausschauen

 'Maus Positionieren 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

MfG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]