VB NET MouseClick simulieren – mit AutoIt3
Inhaltsverzeichnis
VB NET MouseClick simulieren
Einen VB NET MouseClick simulieren zu können wollte vermutlich jeder Entwickler schon einmal.
Ich würde sogar sagen, jeder Gamer sowieso, denn wer hat schon Lust auf die typische „Monkey-Work“.
Zig tausend mal die gleichen Dialoge in exakter Reihenfolge zu bestätigen und sich mühselig manuell durchzuklicken.
Also echt mal, da hat doch keiner Bock drauf, seufz, jedenfalls aller spätestens beim 2, 3, .. Mal.
Natürlich treffen wir ähnliche Bedürfnisse und Probleme auch im Büroalltag an, Excel, usw. lassen lieb grüßen.
Ein Glück, dass man (angehender) Entwickler ist, gell 😉!
Auf YouTube ansehen – VB NET MouseClick simulieren
Falls Du eher für eine visuelle Darstellung des Beitrages zu haben bist, kannst Du Dir natürlich auch das Video (vielleicht auch ergänzend zum Beitrag) anschauen.
Bei meinen Beiträgen bringe ich gerne auch immer diverse Detail-Infos, oder andere Dinge hinein.
Leider fehlt mir dazu oft in den Videos die Zeit, da ich denke, dass man einen Beitrag einfacher durchscrollen kann.
Vor allem den Beitrag sinnvoll zu gliedern ist denke ich einfacher, als durch ein Video zu zappen.
Immerhin hat YouTube seit geraumer Zeit eine Art Kapitelübersicht hinzugefügt, Welche ich auch gern verwende.
Die Idee zum Beitrag – VB NET MouseClick
Man möchte sich im Optimalfall natürlich selbst helfen können und besonders auch zukunftsorientiert.
Gerne hätte man eine Art Hilfe in Form einer Person, der man dann einfach sagen könnte „Mach das mal..“.
Als Programmierer können wir uns kreativen Köpfen selbstverständlich selbst unter die Arme greifen, man weiß nur nicht immer wie.
Daher lass‚ mich Dir mit diesem kleinen Beitrag helfen und zeigen, wie Du einen VB NET MouseClick mit der Hilfe von AutoIt3 durchführen kannst.
Dadurch kannst Du dann verschiedene Tools wie diverse Klicker–Bots realisieren und Dir Deinen Alltag erleichtern.
Nicht ohne mein AutoIt
Naja etwas witzig angelehnt die Headline hier, aber tatsächlich werden wir dieses kleine Geplänkel nicht ohne AutoIt3 realisieren.
Klar gibt es auch die Möglichkeit in VB NET einfach ich nenne es mal „manuell“ einen Mausklick zu simulieren, aber ich find’s hier mit AutoIt3 definitiv angenehmer.
Wie auch im „ImageSearch“-Beitrag schon angesprochen gehen viele Entwickler kritisch mit der Speichergröße der Projekte um.
Das kann ich natürlich nachvollziehen, da ich selbst ein Freund des Minimalismus bin, jedoch kann man die Kirche auch im Dorf lassen.
Ich würde mit Sicherheit in Festplatten–Generation „Terrabyte zum Preis von damaligen 80GB“ nicht anfangen für 1MB rumzunörgeln.
Letztendlich muss man ja immer den möglichen Mehrwert in Relation zur Eigenarbeit sehen.
Später kannst Du bei einem intelligent strukturierten Programm natürlich bedürftige Komponenten isoliert austauschen.
Projekt in Visual Studio vorbereiten
Lade Dir jetzt die benötigten Bibliotheken direkt hier herunter, oder suche alternativ nach anderen Quellen im Netz.
Danach kannst Du wie üblich ein neues Windows Forms-, oder auch ein WPF-Projekt anlegen.
Lege die „AutoItX3.Assembly.dll„-Datei nun als Verweis an, damit dein Projekt damit arbeiten kann.
Ganz einfach geht das zum Beispiel rechts über den Projektmappen-Explorer in Visual Studio.
Führe dazu einfach einen rechten Mausklick auf „Verweise/Abhängigkeiten“ aus und wähle die Datei aus.
Neben dem Weg über den Projektmappen–Explorer gibt es auch noch andere Möglichkeiten.
Kopiere anschließend alle anderen Dateien (außer die ImageSearchDLL.dll) in den Debug-Ordner deines Projekts.
Die oben erwähnte Datei dürfte sich aufgrund des Imports schon im Ordner befinden.
Nun zum Code – VB NET MouseClick
Sehen wir uns im nächsten Schritt den benötigten Code im Detail an.
Wenn Du alle vorherigen Schritte abgeschlossen hast, kannst Du nun den korrekten Import durchführen:
Imports AutoIt
Damit wird im aktuellen Scope die „AutoItX“-Klasse verfügbar, womit wir im nächsten Part den Klick realisieren können.
Zuvor kannst Du Dir allerdings noch eine solche (oder ähnliche) GUI zurechtklicken – relativ simpel.
Füge einfach nur 2 Labels, 2 Textboxen und einen Button hinzu:
Die 2 Labels sollen einfach nur ein wenig fürs Auge klar machen, welche Inputs, wo hinein müssen.
Bei den Textboxen handelt es sich um Eingabefelder für die Koordinaten, allerdings verzichten wir hier im Code auf Prüfungen.
Wir werden also der Einfachheit halber nicht weiter überprüfen, ob es sich bei den Eingaben um Zahlen handelt, bzw. ob etwas eingegeben wurde.
Nun ziehen wir die Koordinaten aus den Textboxen und wandeln Diese dann in Ganzzahlen vom Typ Integer um:
Dim x = Integer.Parse(tbX.Text) Dim y = Integer.Parse(tbY.Text)
Danach können wir dann die wichtige und essentielle AutoIt3-Funktion namens „MouseClick“ verwenden:
AutoItX.MouseClick("LEFT", x, y, 1, 50)
MouseClick-Parameter
Die möglichen Parameter möchte ich hier einmal näher erläutern:
Weitere Informationen findest Du in der offiziellen Dokumentation von AutoIt.
Hier können wir den gewünschten Button als String übergeben, mögliche Werte sind: „“ (leer), „LEFT“, „MIDDLE“, „RIGHT“, „PRIMARY“, „MAIN“, „SECONDARY“, „MENU“. Wenn ein leerer String übergeben wird, wird automatisch die linke Maustaste verwendet.
x As Integer
Gibt den Koordinaten-Punkt des Klicks auf der horizontalen (X) Achse an.
y As Integer
Setzt die Koordinate des auszuführenden Klicks auf der vertikalen (Y) Achse.
numClicks As Integer
Legt die Anzahl der durchzuführenden Klicks an den Koordinaten fest.
speed As Integer
Gibt die Geschwindigkeit der durchzuführenden Klicks an.
Der komplette Code – TL;DR
Es ist zwar nicht viel, oder gar komplexer Code, aber hier siehst Du Ihn in einem Stück – vielleicht für die „TL;DR“-guys haha.
Imports AutoIt Public Class Form1 Private Sub btnExecuteClick_Click(sender As Object, e As EventArgs) Handles btnExecuteClick.Click Dim x = Integer.Parse(tbX.Text) Dim y = Integer.Parse(tbY.Text) AutoItX.MouseClick("LEFT", x, y, 1, 50) End Sub End Class
Weiterführende Links
- VB NET ImageSearch – Bilder in Spielen, Desktop und Co. suchen
- VB NET Web API – Währungskurs Service Konsum von Grund auf erklärt
- VB.NET Texterkennung auf Bildern via Google Cloud Vision API [OCR]