VB NET MouseClick simulieren – mit AutoIt3

VB.NET MouseClick simulieren
VB.NET MouseClick simulieren

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

VB NET MouseClick - Die Idee zum Beitrag
VB NET MouseClick – Die Idee zum Beitrag

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 lassmich 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 KlickerBots realisieren und Dir Deinen Alltag erleichtern.

Nicht ohne mein AutoIt

Mit Hilfe von AutoIt
Mit Hilfe von 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 FestplattenGeneration 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

Neues Visual Studio Projekt anlegen und vorbereiten
Neues Visual Studio Projekt anlegen und 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ängigkeitenaus und wähle die Datei aus.

Neben dem Weg über den ProjektmappenExplorer 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:

VB.NET MouseClick simulieren Beispiel-GUI
VB.NET MouseClick simulieren Beispiel-GUI

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.

button As String

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

Downloads

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert