VBS o.Ä. Script um Mausklick zu generieren?

2 Antworten

Habe gerade doch noch was gefunden. Geht zwar nicht mit sendkeys oder sendmouse, aber anscheinend mit mouse_event. (

Public Class Form1 

    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 

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 

        Dim btn As MouseButtons = Windows.Forms.MouseButtons.Left ' Deklariert btn als Maustaste 

        Select Case btn 
            ' linke Maustaste 
            Case Windows.Forms.MouseButtons.Left 
                mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 
                mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) 

                ' mittlere Maustaste 
            Case Windows.Forms.MouseButtons.Middle 
                mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0) 
                mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0) 

                ' rechte Maustaste 
            Case Windows.Forms.MouseButtons.Right 
                mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) 
                mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0) 
        End Select 

    End Sub 

End Class  
t
)


Public Class Form1

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

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

Dim btn As MouseButtons = Windows.Forms.MouseButtons.Left ' Deklariert btn als Maustaste

Select Case btn
' linke Maustaste
Case Windows.Forms.MouseButtons.Left
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

' mittlere Maustaste
Case Windows.Forms.MouseButtons.Middle
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)

' rechte Maustaste
Case Windows.Forms.MouseButtons.Right
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
End Select

End Sub

End Class

~Tim

wollte noch dazuschreiben das es sich um vb.net handelt, dann hat mir gutefrage aber da irgendwie den ganzen Code rumgewurschtelt, sorry

0

Wie wärs mit dem sendmouse von NirCmd?

Geht mit Batch (was ja auch in den Themen ist) und der nircmd.exe
   (download: http://www.nirsoft.net/utils/nircmd.zip
    download 64Bit: http://www.nirsoft.net/utils/nircmd-x64.zip)

Hier dein Beispiel mit nircmd: (Batch-Befehl)

nircmd sendmouse left click

Es gehen aber noch mehr Mausaktionen: http://nircmd.nirsoft.net/sendmouse.html 

~Tim

Hi

Gibt es nichts, das man ohne Download benutzen könnte?

LG

1
@questionanswer7

Ist mir auch immer lieber, aber sieht schlecht aus.

NirCmd ist aber wirklich praktisch und muss auch nicht installiert werden; Einfach in den system32 Ordner legen (oder in nen anderen Ordner der %Path%-Variable)

1