<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>positionieren Archive - Robert Skibbe</title>
	<atom:link href="https://robbelroot.de/blog/tag/positionieren/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>alias RobbelRoot – Freelance Full Stack Developer .NET</description>
	<lastBuildDate>Sun, 03 Oct 2021 01:30:53 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://robbelroot.de/wp-content/uploads/2020/12/cropped-favicon-32x32.png</url>
	<title>positionieren Archive - Robert Skibbe</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VB NET MouseMove – Mausbewegungen mit AutoIt3 simulieren</title>
		<link>https://robbelroot.de/blog/vb-net-mousemove-mausbewegungen-mit-autoit3-simulieren/</link>
					<comments>https://robbelroot.de/blog/vb-net-mousemove-mausbewegungen-mit-autoit3-simulieren/#comments</comments>
		
		<dc:creator><![CDATA[Robert Skibbe]]></dc:creator>
		<pubDate>Sun, 03 Oct 2021 01:30:53 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Visual Basic .NET]]></category>
		<category><![CDATA[Visual Basic .NET Problemlösungen]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[automatisch]]></category>
		<category><![CDATA[automatisieren]]></category>
		<category><![CDATA[automatisierung]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[bewegen]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[maus]]></category>
		<category><![CDATA[mausbewegung]]></category>
		<category><![CDATA[mausposition]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[mousemove]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[positionieren]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[vb]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[vbnet]]></category>
		<category><![CDATA[visual]]></category>
		<category><![CDATA[visual basic]]></category>
		<guid isPermaLink="false">https://robbelroot.de/?p=6455</guid>

					<description><![CDATA[<p>VB NET MouseMove – Mausposition durch Code setzen Du möchtest einen &#8222;VB NET MouseMove&#8222;-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 &#8230;</p>
<p>Der Beitrag <a href="https://robbelroot.de/blog/vb-net-mousemove-mausbewegungen-mit-autoit3-simulieren/">VB NET MouseMove – Mausbewegungen mit AutoIt3 simulieren</a> erschien zuerst auf <a href="https://robbelroot.de">Robert Skibbe</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/10/VB.NET-MouseMove.png"><img fetchpriority="high" decoding="async" width="1200" height="675" src="https://robbelroot.de/wp-content/uploads/2021/10/VB.NET-MouseMove.png" alt="VB.NET MouseMove mit AutoIt3 simulieren" class="wp-image-6457" title="VB.NET MouseMove mit AutoIt3 simulieren"/></a><figcaption>VB.NET MouseMove mit AutoIt3 simulieren</figcaption></figure>






<h2 class="wp-block-heading">VB NET MouseMove – Mausposition durch Code setzen</h2>



<p>Du <strong>möchtest </strong>einen &#8222;<strong>VB NET MouseMove</strong>&#8222;-Befehl realisieren, aber weißt <strong>nicht ganz wie </strong>Du das anstellen sollst?</p>



<p><strong>Lerne </strong>im diesmaligen Beitrag, wie Du in <strong>VB NET</strong> eine <strong>Mausbewegung via Code</strong> ausführen kannst.</p>



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



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



<p><strong>Darauf </strong>gehe ich aber zu einem <strong>späteren Zeitpunkt </strong>noch einmal kurz ein.</p>



<p><strong>Auch wenn </strong>Du damit vermutlich <strong>keinen</strong> &#8222;<strong><a href="https://osu.ppy.sh/home" target="_blank" rel="noreferrer noopener">OSU!</a></strong>&#8222;-Bot bauen kannst denke ich, dass es hier und <strong>da sehr hilfreich </strong>sein kann!</p>



<h2 class="wp-block-heading">Auf YouTube ansehen –  VB NET MouseMove simulieren</h2>



<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/wlG_qTQF7fk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>



<p class="margin-after-video-block"><strong>Wenn </strong>Du <strong>lieber </strong>ein <strong>Video </strong>sehen möchtest, statt Dich durch den Beitrag zu lesen, <strong>kannst </strong>Du das hier <strong>auch </strong>tun.</p>



<p><strong>Gerne schweife ich </strong>in meinen Beiträgen auch mal <strong>ab und bringe </strong>hier und da Nebeninformationen rein.</p>



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



<p><strong>Sicherlich </strong>ist man vom Fernseher und von Videos <strong>gewohnt</strong>, hier und da mal <strong>durch </strong>zu <strong>zappen</strong>.</p>



<p>Ich <strong>finde allerdings</strong>, dass das <strong>Scrollen zu </strong>bestimmten <strong>Überschriften </strong>einfacher und <strong>leichter </strong>von der Hand geht.</p>



<p><strong>Glücklicherweise hat <a href="https://youtube.com" target="_blank" rel="noreferrer noopener">YouTube</a></strong> seit längerer Zeit <strong>eine </strong>Art <strong>Kapitelübersicht </strong>hinzugefügt.</p>



<style>
.margin-after-video-block {
  margin-top: 1em;
}
</style>



<h2 class="wp-block-heading">Wie ich auf den Beitrag kam</h2>



<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/09/Haeufige-Backgroundworker-Fragen.jpg"><img decoding="async" width="640" height="320" src="https://robbelroot.de/wp-content/uploads/2021/09/Haeufige-Backgroundworker-Fragen.jpg" alt="VB NET MouseMove – Cursor bewegen" class="wp-image-5986"/></a><figcaption>VB NET MouseMove – Cursor bewegen</figcaption></figure>



<p><strong>Auch wenn </strong>wir damit <strong>wie </strong>oben schon <strong>erwähnt </strong>vermutlich keinen &#8222;OSU!&#8220;-Bot bauen können, <strong>geht </strong>dennoch <strong>einiges</strong>.</p>



<p><strong>In Kombination mit </strong>den anderen <strong>unten verlinkten Funktionalitäten </strong>kann man so manches realisieren.</p>



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



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



<p>Im <strong>nächsten </strong>Teil des Beitrags schauen wir dazu allerdings erstmal die <strong>notwendigen Tools </strong>an.</p>



<p><strong>Danach </strong>beschäftigen wir uns <strong>mit </strong>dem <strong>Aufsetzen des </strong>Visual Studio <strong>Projektes und </strong>der <strong>Installation der </strong>notwendigen <strong>Bibliotheken</strong>.</p>



<h2 class="wp-block-heading">Nicht ohne Hilfe – wir nutzen AutoIt</h2>



<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/10/VB.NET-ImageSearch-mit-Hilfe-von-AutoIt.png"><img loading="lazy" decoding="async" width="1200" height="675" src="https://robbelroot.de/wp-content/uploads/2021/10/VB.NET-ImageSearch-mit-Hilfe-von-AutoIt.png" alt="Mit Hilfe von AutoIt" class="wp-image-6341" title="Mit Hilfe von AutoIt"/></a><figcaption>Mit Hilfe von AutoIt</figcaption></figure>



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



<p><strong>Ich habe</strong> im <a href="https://robbelroot.de/blog/vb-net-imagesearch-bilder-in-spielen-desktop-und-co-suchen/" target="_blank" rel="noreferrer noopener"><strong>&#8222;ImageSearch&#8220;-Beitrag</strong></a> schon einmal angesprochen dass <strong>viele Entwickler kritisch mit </strong>der <strong>Speichergröße </strong>der Projekte umgehen.</p>



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



<p><strong>Ich denke </strong>allerdings, dass es Situationen gibt, wo <strong>man </strong>es auch <strong>übertreiben kann</strong>.</p>



<p>In <strong>Festplatten</strong>&#8211;<strong>Generation </strong>&#8222;<strong>Terrabyte zum Preis von damaligen 80GB</strong>&#8220; nörgle ich nicht für 1MB rum.</p>



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



<p><strong>In intelligent </strong>entwickelten, bzw. <strong>strukturierten Programmen </strong>ist der <strong>spätere Austausch </strong>kein Problem.</p>



<p><strong>Daher </strong>immer <strong>schön sauber </strong>mit Interfaces und deren Implementierungen <strong>arbeiten </strong>*zwinker*.</p>



<h2 class="wp-block-heading">Ein neues Projekt anlegen und in Visual Studio vorbereiten</h2>



<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/10/Neues-Visual-Studio-Projekt-anlegen.png"><img loading="lazy" decoding="async" width="640" height="380" src="https://robbelroot.de/wp-content/uploads/2021/10/Neues-Visual-Studio-Projekt-anlegen.png" alt="Neues Visual Studio Projekt anlegen und vorbereiten" class="wp-image-6352" title="Neues Visual Studio Projekt anlegen und vorbereiten"/></a><figcaption>Neues Visual Studio Projekt anlegen und vorbereiten</figcaption></figure>



<p><strong>Nun</strong> wären wir an der Stelle, die <strong><a href="/downloads/tools/AutoItPackage.zip" target="_blank" rel="noreferrer noopener"><strong>notwendigen</strong> Libraries</a> </strong>herunterzuladen.</p>



<p>Erledige das gern direkt hier, oder suche Dir <strong>anderweitige Quellen </strong>im Netz dafür.</p>



<p><strong>Erstelle</strong> danach einfach ein <strong>neues </strong>Windows Forms-, oder ein WPF-<strong>Projekt</strong>.</p>



<p><strong>Füge</strong> die &#8222;<strong>AutoItX3.Assembly.dll</strong>&#8222;-Datei nun als Verweis hinzu, <strong>damit </strong>wir Diese im Code nutzen können.</p>



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



<p><strong>Führe </strong>dazu einfach einen <strong>rechten Mausklick </strong>auf &#8222;<strong>Verweise</strong>/<strong>Abhängigkeiten</strong>&#8220; <strong>aus </strong>und wähle die Datei aus.</p>



<p><strong>Neben </strong>dem genannten Weg, gibt es <strong>auch </strong>noch <strong>andere Möglichkeiten</strong>, zum Beispiel über das obige &#8222;Hauptmenü&#8220;.</p>



<p><strong>Kopiere </strong>anschließend <strong>alle anderen </strong>Dateien (außer die ImageSearchDLL.dll) <strong>in </strong>den <strong>Debug-Ordner</strong> deines Projekts.</p>



<p>Die <strong>oben </strong>erwähnte <strong>Datei </strong>dürfte sich <strong>aufgrund </strong>des <strong>Imports schon </strong>im Ordner befinden.</p>



<h2 class="wp-block-heading">Der Code – VB NET MouseMove</h2>



<p><strong>Nun </strong>kommen wir <strong>endlich </strong>an den Punkt, wo wir uns <strong>an </strong>den <strong>Code </strong>heranwagen.</p>



<p><strong>Nachdem </strong>Du <strong>alle Vorbereitungen abgeschlossen </strong>hast, kann Du <strong>nun </strong>den <strong>Namespace importieren</strong>.</p>



<p><strong>Dadurch </strong>kannst Du dann auf die <strong>benötigte Klasse </strong>zugreifen:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="visualbasic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Imports AutoIt</pre>



<p>Durch die <strong>nun verfügbare Klasse </strong>&#8222;<strong>AutoItX</strong>&#8222;, können wir <strong>jetzt </strong>die <strong>Mausbewegungen </strong>an sich realisieren.</p>



<p><strong>Klicke </strong>Dir <strong>nun </strong>vielleicht <strong>noch </strong>vorher <strong>eine GUI </strong>wie Diese hier, mit <strong><a href="https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.label?view=net-5.0" target="_blank" rel="noreferrer noopener">2 Labels</a></strong>, <strong><a href="https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.textbox?view=net-5.0" target="_blank" rel="noreferrer noopener">2 Textboxen</a></strong> und einen <strong><a href="https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.button?view=net-5.0" target="_blank" rel="noreferrer noopener">Button</a></strong> zurecht:</p>



<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/10/VB-NET-Maus-bewegen-Beispiel-GUI.png"><img loading="lazy" decoding="async" width="320" height="222" src="https://robbelroot.de/wp-content/uploads/2021/10/VB-NET-Maus-bewegen-Beispiel-GUI.png" alt="VB NET Maus bewegen Beispiel GUI" class="wp-image-6489" title="VB NET Maus bewegen Beispiel GUI"/></a><figcaption>VB NET Maus bewegen Beispiel GUI</figcaption></figure>



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



<p>Bei den <strong>Textboxen </strong>verzichten wir bei der <strong>Eingabe </strong>der <strong>Koordinaten </strong>in diesem Beispiel auf eine Prüfung.</p>



<p>Wir prüfen also nicht explizit, <strong>ob </strong>es sich dabei <strong>wirklich </strong>um <strong>Zahlen </strong>handelt, etc.</p>



<p><strong>Anschließend holen </strong>wir uns die <strong>Koordinaten </strong>aus den Textboxen <strong>und wandeln </strong>Diese um.</p>



<p><strong>Dafür </strong>verwenden wir natürlich den korrekten <strong>Datentyp </strong>namens <strong>Integer</strong>:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="visualbasic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Dim x = Integer.Parse(tbX.Text)
Dim y = Integer.Parse(tbY.Text)</pre>



<p><strong>Nun </strong>kommen wir <strong>zum </strong>goldenen Teil des Beitrages, also der <strong>Durchführung </strong>der <strong>Mausbewegung </strong>selbst.</p>



<p><strong>Dazu </strong>benutzen wir die <strong>importierte Klasse </strong>&#8222;AutoItX&#8220; in Kombination <strong>mit </strong>den gerade festgelegten <strong>Koordinaten</strong>.</p>



<p><strong>Optional </strong>könntest Du <strong>auch </strong>noch eine Art <strong>Geschwindigkeit der Bewegung</strong>, bzw. der &#8222;Animation&#8220; <strong>festlegen </strong>.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="visualbasic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">Dim movementSpeed = 50
AutoItX.MouseMove(x, y, movementSpeed)</pre>



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



<p><strong>Detailliertere Informationen </strong>findest Du <strong>auf </strong>der offiziellen <strong>Seite</strong>, bzw. der <strong><a href="https://www.autoitscript.com/autoit3/docs/functions/MouseMove.htm" target="_blank" rel="noreferrer noopener">offiziellen Dokumentation</a></strong>:</p>



<h3 class="wp-block-heading">MouseMove-Parameter</h3>



<h4 class="wp-block-heading">x As Integer</h4>



<p> Gibt den Koordinaten-Punkt des Klicks auf der horizontalen (X) Achse an.</p>



<h4 class="wp-block-heading">y As Integer</h4>



<p> Setzt die Koordinate des auszuführenden Klicks auf der vertikalen (Y) Achse. </p>



<h4 class="wp-block-heading">speed As Integer</h4>



<p>Gibt die Geschwindigkeit der Bewegung an.</p>



<h2 class="wp-block-heading">Der komplette Code – TL;DR</h2>



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



<pre class="EnlighterJSRAW" data-enlighter-language="visualbasic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">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</pre>



<h2 class="wp-block-heading">Weiterführende Links</h2>



<ul class="wp-block-list"><li><strong><a href="https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/" target="_blank" rel="noreferrer noopener">Visual Basic NET MouseClick simulieren</a></strong></li><li><strong><a href="https://robbelroot.de/blog/vb-net-imagesearch-bilder-in-spielen-desktop-und-co-suchen/" target="_blank" rel="noreferrer noopener">VB NET ImageSearch in Spielen, auf dem Desktop, etc.</a></strong></li><li><strong><a href="https://robbelroot.de/blog/vbnet-texterkennung-auf-bildern/" target="_blank" rel="noreferrer noopener">Visual Basic .NET Texterkennung auf Bildern via Google Cloud Vision API [OCR]</a></strong></li></ul>



<h2 class="wp-block-heading">Downloads</h2>



<div class="wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex">
<div class="wp-block-button"><a class="wp-block-button__link" href="/downloads/tools/AutoItPackage.zip" target="_blank" rel="noreferrer noopener">AutoItPackage.zip</a></div>



<div class="wp-block-button"><a class="wp-block-button__link" href="/downloads/vbnet/MouseMoveExample.zip" target="_blank" rel="noreferrer noopener">MouseMoveExample.zip</a></div>
</div>
<p>Der Beitrag <a href="https://robbelroot.de/blog/vb-net-mousemove-mausbewegungen-mit-autoit3-simulieren/">VB NET MouseMove – Mausbewegungen mit AutoIt3 simulieren</a> erschien zuerst auf <a href="https://robbelroot.de">Robert Skibbe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://robbelroot.de/blog/vb-net-mousemove-mausbewegungen-mit-autoit3-simulieren/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
