VBS o.Ä. Script um Mausklick zu generieren?
Würde gerne an der Stelle auf dem Screen, wo sich mein Mauszeiger befindet, einen Klick generieren.
Gesucht wird etwas im Format:
shell.sendkeys("{leftclick}")
Wenn möglich in einer "Programmiersprache", welche auf jedem Windowscomputer schon ohne Download weiterer Software vorhanden ist, sprich ausgeführt werden kann.
Habe mal gelesen, dass in VBS Mausklicke nicht funktionieren, aber wollte trotzdem mal nachfragen.
LG
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
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
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)
Hi
Gibt es nichts, das man ohne Download benutzen könnte?
LG