VB NET MouseMove – Mausbewegungen mit AutoIt3 simulieren

VB.NET MouseMove mit AutoIt3 simulieren
VB.NET MouseMove mit AutoIt3 simulieren

VB NET MouseMove – Mausposition durch Code setzen

Du möchtest einen „VB NET MouseMove„-Befehl realisieren, aber weißt nicht ganz wie Du das anstellen sollst?

Lerne im diesmaligen Beitrag, wie Du in VB NET eine Mausbewegung via Code ausführen kannst.

Zugehörig zu den anderen AutoIt3-Beiträgen, fahre ich mit der kleinen Serie hier nun fort.

Du brauchst Dir auch keine besonderen Sorgen über die Speichergröße der hier verwendeten Hilfsmittel machen.

Darauf gehe ich aber zu einem späteren Zeitpunkt noch einmal kurz ein.

Auch wenn Du damit vermutlich keinenOSU!„-Bot bauen kannst denke ich, dass es hier und da sehr hilfreich sein kann!

Auf YouTube ansehen – VB NET MouseMove simulieren

Wenn Du lieber ein Video sehen möchtest, statt Dich durch den Beitrag zu lesen, kannst Du das hier auch tun.

Gerne schweife ich in meinen Beiträgen auch mal ab und bringe hier und da Nebeninformationen rein.

Leider fehlt mir dazu oft in den Videos die Zeit, da ich denke, dass man einen Beitrag einfacher durchscrollen kann.

Sicherlich ist man vom Fernseher und von Videos gewohnt, hier und da mal durch zu zappen.

Ich finde allerdings, dass das Scrollen zu bestimmten Überschriften einfacher und leichter von der Hand geht.

Glücklicherweise hat YouTube seit längerer Zeit eine Art Kapitelübersicht hinzugefügt.

Wie ich auf den Beitrag kam

VB NET MouseMove – Cursor bewegen
VB NET MouseMove – Cursor bewegen

Auch wenn wir damit wie oben schon erwähnt vermutlich keinen „OSU!“-Bot bauen können, geht dennoch einiges.

In Kombination mit den anderen unten verlinkten Funktionalitäten kann man so manches realisieren.

Ich selbst kam nicht selten in die Versuchung gewisse Tools zur Erleichterung meiner Arbeit und auch des Gamings zu umzusetzen.

Daher beschäftigen wir uns in diesem Beitrag damit, wie man gewisse Mausbewegungen via Code steuern kann.

Im nächsten Teil des Beitrags schauen wir dazu allerdings erstmal die notwendigen Tools an.

Danach beschäftigen wir uns mit dem Aufsetzen des Visual Studio Projektes und der Installation der notwendigen Bibliotheken.

Nicht ohne Hilfe – wir nutzen AutoIt

Mit Hilfe von AutoIt
Mit Hilfe von AutoIt

Für unser Vorhaben, Welches auch roh in VB NET möglich wäre, verwenden wir hier allerdings bewusst die Bibliothek von AutoIt3.

Ich habe im „ImageSearch“-Beitrag schon einmal angesprochen dass viele Entwickler kritisch mit der Speichergröße der Projekte umgehen.

In erster Linie ist das natürlich völlig nachvollziehbar, da ich selbst ein Freund des KISS (Keep It Smart and Simple) bin.

Ich denke allerdings, dass es Situationen gibt, wo man es auch übertreiben kann.

In FestplattenGeneration Terrabyte zum Preis von damaligen 80GB“ nörgle ich nicht für 1MB rum.

Das was letztendlich zählen sollte, ist die Relation zwischen Aufwand und Erfolg, bzw. das Erreichen des Ziels.

In intelligent entwickelten, bzw. strukturierten Programmen ist der spätere Austausch kein Problem.

Daher immer schön sauber mit Interfaces und deren Implementierungen arbeiten *zwinker*.

Ein neues Projekt anlegen und in Visual Studio vorbereiten

Neues Visual Studio Projekt anlegen und vorbereiten
Neues Visual Studio Projekt anlegen und vorbereiten

Nun wären wir an der Stelle, die notwendigen Libraries herunterzuladen.

Erledige das gern direkt hier, oder suche Dir anderweitige Quellen im Netz dafür.

Erstelle danach einfach ein neues Windows Forms-, oder ein WPF-Projekt.

Füge die „AutoItX3.Assembly.dll„-Datei nun als Verweis hinzu, damit wir Diese im Code nutzen können.

Relativ simpel geht das in Visual Studio zum Beispiel außen rechts über den Projektmappen-Explorer.

Führe dazu einfach einen rechten Mausklick auf „Verweise/Abhängigkeitenaus und wähle die Datei aus.

Neben dem genannten Weg, gibt es auch noch andere Möglichkeiten, zum Beispiel über das obige „Hauptmenü“.

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.

Der Code – VB NET MouseMove

Nun kommen wir endlich an den Punkt, wo wir uns an den Code heranwagen.

Nachdem Du alle Vorbereitungen abgeschlossen hast, kann Du nun den Namespace importieren.

Dadurch kannst Du dann auf die benötigte Klasse zugreifen:

Imports AutoIt

Durch die nun verfügbare Klasse AutoItX„, können wir jetzt die Mausbewegungen an sich realisieren.

Klicke Dir nun vielleicht noch vorher eine GUI wie Diese hier, mit 2 Labels, 2 Textboxen und einen Button zurecht:

VB NET Maus bewegen Beispiel GUI
VB NET Maus bewegen Beispiel GUI

Die beiden Labels sollen Dich auch noch in einem halben Jahr dran erinnern, welche Inputs wohin müssen.

Bei den Textboxen verzichten wir bei der Eingabe der Koordinaten in diesem Beispiel auf eine Prüfung.

Wir prüfen also nicht explizit, ob es sich dabei wirklich um Zahlen handelt, etc.

Anschließend holen wir uns die Koordinaten aus den Textboxen und wandeln Diese um.

Dafür verwenden wir natürlich den korrekten Datentyp namens Integer:

Dim x = Integer.Parse(tbX.Text)
Dim y = Integer.Parse(tbY.Text)

Nun kommen wir zum goldenen Teil des Beitrages, also der Durchführung der Mausbewegung selbst.

Dazu benutzen wir die importierte Klasse „AutoItX“ in Kombination mit den gerade festgelegten Koordinaten.

Optional könntest Du auch noch eine Art Geschwindigkeit der Bewegung, bzw. der „Animation“ festlegen .

Dim movementSpeed = 50
AutoItX.MouseMove(x, y, movementSpeed)

Als nächstes möchte ich die Parameter noch der Vollständigkeit halber erläutern, oder eher auflisten.

Detailliertere Informationen findest Du auf der offiziellen Seite, bzw. der offiziellen Dokumentation:

MouseMove-Parameter

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.

speed As Integer

Gibt die Geschwindigkeit der Bewegung an.

Der komplette Code – TL;DR

Obwohl der Code hier vermutlich nicht durch seine Quantität glänzt, hier nochmal alles in einem Stück.

Imports AutoIt

Public Class Form1

    Private Sub btnMoveMouse_Click(sender As Object, e As EventArgs) Handles btnMoveMouse.Click
        Dim x = Integer.Parse(tbX.Text)
        Dim y = Integer.Parse(tbY.Text)
        Dim moveSpeed = 50
        AutoItX.MouseMove(x, y, moveSpeed)
    End Sub

End Class

Weiterführende Links

Downloads

Schreibe einen Kommentar

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