<?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>steuern Archive - Robert Skibbe</title>
	<atom:link href="https://robbelroot.de/blog/tag/steuern/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>alias RobbelRoot – Freelance Full Stack Developer .NET</description>
	<lastBuildDate>Sun, 03 Oct 2021 01:22:43 +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>steuern Archive - Robert Skibbe</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VB NET MouseClick simulieren – mit AutoIt3</title>
		<link>https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/</link>
					<comments>https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/#comments</comments>
		
		<dc:creator><![CDATA[Robert Skibbe]]></dc:creator>
		<pubDate>Sat, 02 Oct 2021 18:14:30 +0000</pubDate>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Visual Basic .NET]]></category>
		<category><![CDATA[Visual Basic .NET Problemlösungen]]></category>
		<category><![CDATA[ausführen]]></category>
		<category><![CDATA[autoit]]></category>
		<category><![CDATA[autoit3]]></category>
		<category><![CDATA[autoklick]]></category>
		<category><![CDATA[autoklicker]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[automatisch]]></category>
		<category><![CDATA[automatisieren]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[klick]]></category>
		<category><![CDATA[klicken]]></category>
		<category><![CDATA[mausklick]]></category>
		<category><![CDATA[mouseclick]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[simulate]]></category>
		<category><![CDATA[simulieren]]></category>
		<category><![CDATA[steuern]]></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=6393</guid>

					<description><![CDATA[<p>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 &#8222;Monkey-Work&#8220;. Zig tausend mal die gleichen Dialoge in exakter Reihenfolge zu bestätigen und sich mühselig manuell durchzuklicken. Also &#8230;</p>
<p>Der Beitrag <a href="https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/">VB NET MouseClick simulieren – mit AutoIt3</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-MouseClick-simulieren.png"><img fetchpriority="high" decoding="async" width="1200" height="675" src="https://robbelroot.de/wp-content/uploads/2021/10/VB.NET-MouseClick-simulieren.png" alt="VB.NET MouseClick simulieren" class="wp-image-6395" title="VB.NET MouseClick simulieren"/></a><figcaption>VB.NET MouseClick simulieren</figcaption></figure>






<h2 class="wp-block-heading">VB NET MouseClick simulieren</h2>



<p>Einen <strong>VB NET MouseClick simulieren</strong> zu können wollte vermutlich jeder Entwickler schon einmal.</p>



<p>Ich <strong>würde </strong>sogar <strong>sagen</strong>, <strong>jeder Gamer </strong>sowieso, denn wer hat schon Lust auf die typische &#8222;Monkey-Work&#8220;.</p>



<p><strong>Zig tausend mal </strong>die <strong>gleichen Dialoge </strong>in exakter Reihenfolge zu <strong>bestätigen </strong>und sich <strong>mühselig </strong>manuell <strong>durchzuklicken</strong>.</p>



<p>Also echt mal, da hat doch <strong>keiner Bock drauf</strong>, seufz, jedenfalls aller spätestens beim 2, 3, .. Mal.</p>



<p><strong>Natürlich </strong>treffen wir <strong>ähnliche Bedürfnisse </strong>und <strong>Probleme </strong>auch <strong>im Büroalltag </strong>an, Excel, usw. lassen lieb grüßen.</p>



<p><strong>Ein Glück</strong>, dass man (angehender) <strong>Entwickler </strong>ist, gell &#x1f609;!</p>



<h2 class="wp-block-heading">Auf YouTube ansehen –  VB NET MouseClick 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>Falls </strong>Du <strong>eher </strong>für eine <strong>visuelle Darstellung </strong>des Beitrages zu haben bist, <strong>kannst </strong>Du Dir <strong>natürlich auch </strong>das <strong>Video </strong>(vielleicht auch ergänzend zum Beitrag) <strong>anschauen</strong>.</p>



<p><strong>Bei </strong>meinen Beiträgen bringe ich gerne auch immer diverse Detail-Infos, oder andere Dinge hinein.</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>Vor allem den Beitrag sinnvoll zu gliedern ist denke ich einfacher, <strong>als durch </strong>ein <strong>Video </strong>zu <strong>zappen</strong>.</p>



<p><strong>Immerhin hat <a href="https://youtube.com" target="_blank" rel="noreferrer noopener">YouTube</a></strong> seit geraumer Zeit <strong>eine </strong>Art <strong>Kapitelübersicht </strong>hinzugefügt, Welche ich auch gern verwende.</p>



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



<h2 class="wp-block-heading">Die Idee zum Beitrag – VB NET MouseClick</h2>



<figure class="wp-block-image size-full"><a href="https://robbelroot.de/wp-content/uploads/2021/09/BackgroundWorker-starten.jpg"><img decoding="async" width="640" height="360" src="https://robbelroot.de/wp-content/uploads/2021/09/BackgroundWorker-starten.jpg" alt="VB NET MouseClick - Die Idee zum Beitrag" class="wp-image-5991" title="VB NET MouseClick - Die Idee zum Beitrag"/></a><figcaption>VB NET MouseClick &#8211; Die Idee zum Beitrag</figcaption></figure>



<p><strong>Man möchte sich </strong>im Optimalfall natürlich <strong>selbst helfen </strong>können und <strong>besonders </strong>auch <strong>zukunftsorientiert</strong>.</p>



<p><strong>Gerne hätte man </strong>eine Art <strong>Hilfe </strong>in Form einer Person, der man dann einfach sagen könnte &#8222;<strong>Mach </strong>das <strong>mal</strong>..&#8220;.</p>



<p><strong>Als Programmierer können wir </strong>uns kreativen Köpfen selbstverständlich <strong>selbst </strong>unter die Arme greifen, man weiß nur nicht immer wie.</p>



<p><strong>Daher lass</strong>&#8218; <strong>mich Dir </strong>mit diesem kleinen Beitrag <strong>helfen </strong>und zeigen, wie Du einen <strong>VB NET MouseClick</strong> mit der Hilfe von <strong><a href="https://www.autoitscript.com/site/" target="_blank" rel="noreferrer noopener">AutoIt3</a></strong> durchführen kannst.</p>



<p><strong>Dadurch kannst Du </strong>dann verschiedene Tools wie <strong>diverse Klicker</strong>&#8211;<strong>Bots </strong>realisieren und Dir Deinen <strong>Alltag erleichtern</strong>.</p>



<h2 class="wp-block-heading">Nicht ohne mein 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>Naja <strong>etwas witzig angelehnt </strong>die Headline hier, <strong>aber tatsächlich </strong>werden wir dieses kleine Geplänkel <strong>nicht ohne AutoIt3 </strong>realisieren.</p>



<p><strong>Klar gibt </strong>es auch die <strong>Möglichkeit </strong>in VB NET <strong>einfach </strong>ich nenne es mal &#8222;<strong>manuell</strong>&#8220; einen <strong>Mausklick </strong>zu <strong>simulieren</strong>, aber ich find&#8217;s hier <strong>mit AutoIt3 </strong>definitiv <strong>angenehmer</strong>.</p>



<p><strong>Wie auch </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 angesprochen gehen <strong>viele Entwickler kritisch mit </strong>der <strong>Speichergröße </strong>der Projekte um.</p>



<p>Das <strong>kann ich </strong>natürlich <strong>nachvollziehen</strong>, da ich <strong>selbst </strong>ein <strong>Freund des Minimalismus </strong>bin, <strong>jedoch </strong>kann man die <strong>Kirche </strong>auch <strong>im Dorf lassen</strong>.</p>



<p>Ich würde mit Sicherheit in <strong>Festplatten</strong>&#8211;<strong>Generation </strong>&#8222;<strong>Terrabyte zum Preis von damaligen 80GB</strong>&#8220; nicht anfangen für 1MB rumzunörgeln.</p>



<p><strong>Letztendlich </strong>muss man ja <strong>immer </strong>den möglichen <strong>Mehrwert in Relation zur Eigenarbeit</strong> sehen.</p>



<p><strong>Später </strong>kannst Du <strong>bei </strong>einem intelligent <strong>strukturierten Programm natürlich </strong>bedürftige <strong>Komponenten </strong>isoliert <strong>austauschen</strong>.</p>



<h2 class="wp-block-heading">Projekt 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>Lade </strong>Dir <strong>jetzt </strong>die <strong><a href="/downloads/tools/AutoItPackage.zip" target="_blank" rel="noreferrer noopener">benötigten Bibliotheken</a></strong> direkt hier <strong>herunter</strong>, oder suche alternativ nach <strong>anderen Quellen</strong> im Netz.</p>



<p><strong>Danach </strong>kannst Du wie üblich ein <strong>neues </strong>Windows Forms-, oder auch ein WPF-<strong>Projekt anlegen</strong>.</p>



<p><strong>Lege </strong>die &#8222;<strong>AutoItX3.Assembly.dll</strong>&#8222;-Datei nun als Verweis an, <strong>damit </strong>dein Projekt <strong>damit arbeiten </strong>kann.</p>



<p>Ganz <strong>einfach </strong>geht das zum Beispiel rechts <strong>über </strong>den <strong>Projektmappen-Explorer</strong> in Visual Studio.</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 Weg über den <strong>Projektmappen</strong>&#8211;<strong>Explorer </strong>gibt es <strong>auch </strong>noch <strong>andere Möglichkeiten</strong>.</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">Nun zum Code – VB NET MouseClick</h2>



<p>Sehen wir uns <strong>im nächsten Schritt </strong>den benötigten <strong>Code </strong>im Detail an.</p>



<p><strong>Wenn </strong>Du alle <strong>vorherigen Schritte abgeschlossen </strong>hast, kannst Du <strong>nun </strong>den korrekten <strong>Import </strong>durchführen:</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><strong>Damit </strong>wird <strong>im aktuellen Scope </strong>die &#8222;AutoItX&#8220;-<strong>Klasse verfügbar</strong>, womit wir im nächsten Part den Klick realisieren können.</p>



<p><strong>Zuvor </strong>kannst Du Dir allerdings <strong>noch </strong>eine <strong>solche </strong>(oder ähnliche) <strong>GUI zurechtklicken </strong>– relativ simpel.</p>



<p><strong>Füge </strong>einfach nur <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>hinzu:</p>



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



<p>Die <strong>2 Labels</strong> sollen <strong>einfach </strong>nur ein wenig <strong>fürs Auge </strong>klar machen, <strong>welche Inputs</strong>, <strong>wo hinein </strong>müssen.</p>



<p><strong>Bei </strong>den <strong>Textboxen </strong>handelt es sich um <strong>Eingabefelder für </strong>die <strong>Koordinaten</strong>, allerdings verzichten wir hier im Code auf Prüfungen.</p>



<p><strong>Wir werden </strong>also <strong>der Einfachheit halber nicht </strong>weiter <strong>überprüfen</strong>, <strong>ob </strong>es sich bei den Eingaben um <strong>Zahlen </strong>handelt, bzw. <strong>ob </strong>etwas <strong>eingegeben </strong>wurde.</p>



<p><strong>Nun ziehen </strong>wir die <strong>Koordinaten aus </strong>den <strong>Textboxen </strong>und wandeln Diese dann in <strong>Ganzzahlen </strong>vom Typ <strong><a href="https://docs.microsoft.com/de-de/dotnet/visual-basic/language-reference/data-types/integer-data-type" target="_blank" rel="noreferrer noopener">Integer</a></strong> um:</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>Danach </strong>können wir dann die wichtige und <strong>essentielle AutoIt3-Funktion</strong> namens &#8222;<strong>MouseClick</strong>&#8220; verwenden:</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="">AutoItX.MouseClick("LEFT", x, y, 1, 50)</pre>



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



<p>Die <strong>möglichen Parameter </strong>möchte ich <strong>hier </strong>einmal näher erläutern:</p>



<p><strong>Weitere Informationen </strong>findest Du <strong>in </strong>der <strong><a href="https://www.autoitscript.com/autoit3/docs/functions/MouseClick.htm" target="_blank" rel="noreferrer noopener">offiziellen Dokumentation</a></strong> von AutoIt.</p>



<h4 class="wp-block-heading">button As String</h4>



<p><strong>Hier </strong>können wir den <strong>gewünschten Button als String </strong>übergeben, mögliche Werte sind: &#8222;&#8220; (leer), &#8222;LEFT&#8220;, &#8222;MIDDLE&#8220;, &#8222;RIGHT&#8220;, &#8222;PRIMARY&#8220;, &#8222;MAIN&#8220;, &#8222;SECONDARY&#8220;, &#8222;MENU&#8220;. <strong>Wenn </strong>ein <strong>leerer String </strong>übergeben wird, wird <strong>automatisch </strong>die <strong>linke Maustaste </strong>verwendet.</p>



<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">numClicks As Integer</h4>



<p><strong>Legt </strong>die <strong>Anzahl der </strong>durchzuführenden <strong>Klicks </strong>an den Koordinaten <strong>fest</strong>.</p>



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



<p>Gibt die Geschwindigkeit der durchzuführenden Klicks an.</p>



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



<p>Es ist <strong>zwar nicht viel</strong>, oder gar komplexer Code, <strong>aber hier </strong>siehst Du Ihn <strong>in einem</strong> <strong>Stück </strong>– vielleicht für die &#8222;TL;DR&#8220;-guys haha.</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 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</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-imagesearch-bilder-in-spielen-desktop-und-co-suchen" target="_blank" rel="noreferrer noopener">VB NET ImageSearch – Bilder in Spielen, Desktop und Co. suchen</a></strong></li><li><strong><a href="https://robbelroot.de/blog/vb-net-web-api-waehrungskurs-service-konsum-von-grund-auf-erklaert" target="_blank" rel="noreferrer noopener">VB NET Web API &#8211; Währungskurs Service Konsum von Grund auf erklärt</a></strong></li><li><strong><a href="https://robbelroot.de/blog/vbnet-texterkennung-auf-bildern/" target="_blank" rel="noreferrer noopener">VB.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/MouseClickExample.zip" target="_blank" rel="noreferrer noopener">MouseClickExample.zip</a></div>
</div>
<p>Der Beitrag <a href="https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/">VB NET MouseClick simulieren – mit AutoIt3</a> erschien zuerst auf <a href="https://robbelroot.de">Robert Skibbe</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://robbelroot.de/blog/vb-net-mouseclick-simulieren-mit-autoit3/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
