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 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]