Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 09:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt-Hilfe (Deutsch)

Discussion on AutoIt-Hilfe (Deutsch) within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
IIPLAYAII's Avatar
 
elite*gold: 0
Join Date: Feb 2009
Posts: 96
Received Thanks: 52
AutoIt-Hilfe (Deutsch)

Hier mal eine Einführung und Tutorials
(falls jemand keine lust hat sich das zu downloaden)

Wenn du AutoIt startest, dann wirst du nach dem Skript gefragt, das du öffnen möchtest. Eine Skriptdatei ist eine einfache Textdatei, die AutoIt-Schlüsselwörter und -Funktionen enthält, die AutoIt sagen, was es machen soll. Skripte können mit notepad.exe oder einer viel besseren Alternative geschrieben werden.

Obwohl AutoIt 3-Skripte einfache Textdateien sind, erhalten sie üblicherweise die Endung .au3, damit sich Skripte und Textdateien besser unterscheiden lassen. Wenn du AutoIt komplett installiert hast, kannst du ein Skript ausführen, indem du es einfach doppelt anklickst. Du kannst auch Optionen wählen - nämlich das Skript zu öffnen, zu bearbeiten oder zu kompilieren - wenn du mit der rechten Maustaste auf die .au3-Datei klickst.



Hier ein Beispielskript. Beachte, dass das ; einen Kommentar signalisert (ähnlich REM in MSDOS-Batch-Dateien):

Quote:
; Das ist mein erstes Skript
MsgBox(0, "Mein erstes Skript!", "Hallo Welt!")


Kompiliziertere Skripte werden Funktionen nutzen, die normalerweise am Ende des Skriptes platziert werden. Hier ein ähnliches Skript mit Funktionen:

Quote:
; Das ist mein erstes Skript (mit Funktionen)
MsgBox(0, "Mein zweites Skript!", "Hallo aus dem Hauptskript!")
TestFunc()

Func TestFunc()
MsgBox(0, "Mein zweites Skript!", "Hallo aus der Funktion!")
EndFunc


Kommandozeilenparameter
Das besondere Array $CmdLine wird mit den deinem AutoIt-Skript übergebenen Komandozeilenparametern initialisiert. Der Skriptname wird dabei nicht als Parameter aufgefasst; den kannst du über @ScriptName herausfinden. Ein Parameter, der Leerzeichen beinhaltet, muss von "doppelten Anführungszeichen" umgeben sein. Kompilierte Skripte akzeptieren Kommandozeilenparameter genauso.

$CmdLine[0] ist die Anzahl der Parameter
$CmdLine[1] ist Parameter 1 (nach dem Skriptnamen)
$CmdLine[2] ist Parameter 2 etc.
...
$CmdLine[$CmdLine[0]] ist einer der Wege, um den letzten Parameter auszulesen...



Wenn du also dein Skript so ausführst:

AutoIt3.exe meinskript.au3 param1 "das ist ein anderer Parameter"

$CmdLine[0] ergibt... 2

$CmdLine[1] ergibt... param1

$CmdLine[2] ergibt... das ist ein anderer Parameter

@ScriptName ergibt... meinskript.au3



Zusätzlich zu $CmdLine gibt es noch eine variable namens $CmdLineRaw, die unformatierten Kommandozeilenparameter enthält. Im obigen Beispiel:

$CmdLineRaw ergibt... meinskript.au3 param1 "das ist ein anderer Parameter"



Jetzt ein Tutorial


Tutorial - Hallo Welt
Dieses Tutorial erklärt die Grundlagen der Erstellung und Ausführung von AutoIt-Skripten. Es wird vorausgesetzt, dass AutoIt v3 bereits mit Hilfe des mitgelieferten Installationsprogrammes vollständig installiert wurde.



Hinweise:

Wenn du den SciTe-Editor für AutoIt installiert hast, dann wird zum Bearbeiten der Skripte statt Notepad SciTe verwendet)
Die Screenshots sind der englischen Version dieser Hilfe entnommen. Die Bezeichnungen werden in Klammern auf Deutsch übersetzt. Die Skripte wurden an die deutsche Windwos-Version angepasst.



Öffne zuerst den Ordner, indem du das Skript anlegen willst. Klicke mit der rechten Maustaste auf eine freie Fläche in diesem Ordner und wähle New (Neu) / AutoIt v3 Script.





Nenne das Skript hallowelt.au3. Beachte dabei die Dateiendung .au3, die angibt, dass es sich bei der Datei um ein AutoIt v3-Skript handelt.





Nachdem wir jetzt die Skriptdatei angelegt haben, wollen wir es ändern, damit es etwas sinnvolles tut. Klicke mit der rechten Maustast auf hallowelt.au3 und wähle Edit Script.





Notepad wird geöffnet und du wirst etwas in dieser Art sehen:





Was du siehst, sind einfach einige Kommentare, die du nutzen kannst, um deine Skripte zu organisieren. Es gibt auch einige vorgeschlagene "Optionen", die dir in Zukunft helfen könnten. Alle Zeilen beginnen mit einem Semikolon ( und werden deshalb als Kommentare behandelt, also ignoriert. Das Semikolon ähnelt also REM-Befehl in DOS-Batch-Dateien.



Jetzt wollen wir AutoIt sagen, dass es eine Nachricht ausgeben soll - das machen wir mit der MsgBox-Funktion.

Ganz unten ergänzt du folgende Zeile:



Quote:
MsgBox(0, "Tutorial", "Hallo Welt!")


Alle Funktionen erwarten Parameter, die MsgBox-Boxc erwartet derer drei - ein "flag", einen Titel ("title"), und einen Naschrichtentext ("messsage"). Der "flag"-Parameter beeinflusst das Erscheinungsbild der Nachricht - wir werden es zunächst einfach auf 0 belassen. Der Titel und der Nachrichtentext sind beide Zeichenketten-("string")-Parameter - wenn man solche Zeichenketten in AutoIt benutzt, muss man den Text mit doppelten oder einfachen Anführungszeichen umschließen. "Beispieltext" oder 'Beispieltext' - beides ist korrekt.

Jetzt speichern wir das Skript und schließen Notepad. Du hast damit gerade dein allererstes AutoIt-Skript fertig gestellt! Um es auszuführen kannst du einfach doppelt auf die Datei hallowelt.au3 klicken. Alterntiv kannst du auch die rechte Maustaste benutzen und dann Run Script wählen.

Daraufhin sollte das folgende erscheinen:





So, jetzt wollen wir uns noch ein wenig mit dem "flag"-Parameter der MsgBox-Funktion beschäftigen. Auf der Funktionsdetailseite sehen wir verschiedene Werte aufgelistet, die die Erscheinung der MsgBox beeinflussen.Der Wert 0 zeigt einfach eine MsgBox mit einer OK-Schaltfläche. Ein Wert von 64 zeigt eine MsgBox mit einem Informationsicon

Verändere das Skript erneut und mache aus der 0 eine 64, sodass folgendes herauskommt:

Quote:
MsgBox(64, "Tutorial", "Hallo Welt!")

Führe das Skript aus und du bekommst folgende Meldung:





Experimentiere mit verschiedenen Werten für den "flag"-Parameter, um zu sehen, was für verschiedene Ergebnisse erzielt werden können. Bedenke, dass du die Werte für verschiedene Eigenschaften einfach addieren kannst, um beide flags zu aktivieren.

Tutorial 2 :Notepad:

Dieses Tutorial erklärt, wie man den Start von Notepad automatisieren kann, wie man automatisch Text eingeben (lassen) und Notepad dann wieder schließen kann. Es wird angenommen, dass du bereits die Vorgehensweise bei der Erstellung und Ausführung von AutoIt-Skripten kennst, die im Tutorial HalloWelt aufgezeigt wurde.



Zuerst legst du ein leeres Sktript namens npad.au3 an und bearbeitest die Datei dann mit Notepad oder SciTe - je nachdem, wen du bevorzugst.



Was wir als erstes benötigen ist der Dateiname von Notepad. Dieser ist notepad.exe - das erfährst du, indem du die Eigenschaften der Notepad-Verknüpfung im Startmenü aufrufst. Um Notepad aufzurufen benutzen wir in AutoIt die Run-Funktion. Diese Funktion ruft das angegebene Programm einfach auf und fährt dann fort.

Schreibe als erste Zeile im Skript folgendes:

Quote:
Run("notepad.exe")


Starte das Skript - wenn alles glatt läuft, sollte ich eine neue Instanz von Notepad öffnen.

Wenn man Aufgaben automatisiert, kann AutoIt das Fenster, das gemeint ist über dessen Fenstertitel identifizieren. Bei Notepad ist der Fenstertitel offensichtlich Untitled - Notepad (Deutsch: Unbenannt - Editor). AutoIt unterscheidet Groß- und Kleinschreibung, sodass du darauf achten musst, den Titel exakt richtig zu übernehmen. Der beste Weg dafür ist das "AutoIt Window Information Tool". Starte es über Start \ (Alle) Programme \ AutoIt v3 \ AutoIt Window Info.

Klicke in das Notepadfenster während das Tool geöffnet ist, um es zu aktivieren - das Tool wird dir nun Informationen über dieses (aktive) Fenster zusammenstellen. Was uns davon jetzt interessiert ist der Fentertitel ("window title").





Markiere den Tiel im Tool und drücke STRG + C, um ihn in die Zwischenablage zu kopieren - dann können wir ihn nachher einfach in unser Skript einfügen, ohne Angsst haben zu müssen, ihn falsch zu schreiben.

Nachdem wir eine Instanz von Notepad gestartet haben, müssen wir warten, bis das Programmfenster erscheint und aktiviert wird, bevor wir Tastendrücke and das Fenster schicken können. Das können wir mit Hilfe der WinWaitActive-Funktion tun. Die meisten Funktionen, die mit Fenstern arbeiten benötigen diesen Fenstertitel als Parameter.

Schreibe also folgendes als zweite Zeile in dein Skript (benutze STRG + V oder Bearbeiten \ Einfügen, um den Fenstertitel aus der Zwischenablage einzufügen):

Quote:
WinWaitActive("Unbenannt - Editor")

Da wir nun sicher sein können, dass das Notepadfentser aktiv ist, können wir ein bisschen Text an das Fenster schicken. Das bewerkstelligen wir mit der Send-Funktion.

Füge diese Zeile am Ende deines Skriptes hinzu.

Quote:
Send("Das ist ein Beispieltext.")

Das gesamte Skript wird nun in etwa so aussehen:

Quote:
Run("notepad.exe")
WinWaitActive("Unbenannt - Editor")
Send("Das ist ein Beispieltext.")


Schließe die Instanz von Notepad, die wir geöffnet hatten und starte das Skript.

Du solltest sehen, dass Notepad startet und wie von Zauberhand unser Text darin erscheint.




Natürlich wollen wir Notepad am Ende auch schließen. Dazu verwenden wir die WinClose-Funktion.

Quote:
WinClose("Unbenannt - Editor")

Wenn Notepad geschlossen wird, fragt es, ob die Änderungen gespeichert werden sollen. bneutze wieder das Window Information Tool, um Inforationen über den Dialog zu bekommen, der zu diesem Zweck geöffnet wurde, damit wir darauf automatisch antworten können :-)





Also fügen wir eine Zeile hinzu, die wartet, bis dieser Dialog aktiv wird (wir benutzen den Fenstertext, um die Funktion präziser zu machen und Verwechslungen mit dem anderen Notepadfenster auszuschließen):

Quote:
WinWaitActive("Editor", "Der Text in der Datei Unbenannt wurde verändert")


Als nächstes wollen wir automatisch ALT-N drücken, um die Schaltfläche Nein auszuwählen. Unterstrichene Buchstaben bedeuten normalerweise, dass du stattdessen den Shortcut ALT + [unterstrichener Buchstabe] benutzen kannst. Um mittels der Funtkion Send eine Kombination mit der ALT-Taste zu senden, verwenden wir !

Quote:
Send("!n")


Unser vollständiges Skript:

Quote:
Run("notepad.exe")
WinWaitActive("Unbenannt - Editor")
Send("Das ist ein Beispieltext.")
WinClose("Unbenannt - Editor")
WinWaitActive("Editor", "Der Text in der Datei Unbenannt wurde verändert")
Send("!n")



Starte das Skript und du wirst sehen, dass Notepad gestartet wird, dass dein Text geschrieben wird und dass Notepad ohne Speichern wieder geschlossen wird! Du solltest mit diesen Programmiertechniken auch viele andere Programm automatisieren können.







Tutorial 3 :WinZip:

Dieses Tutorial zeigt dir, wie man die Installation WinZip 9 SR-1 automatisieren kann. Es wird vorausgesetzt, dass du Skripte in AutoIt schreiben und ausführen, sowie den AutoIt Window Spy benutzen kannst, um Fenstertitel und -texte herauszudfinden. All das wird in den Tutorials HalloWelt und Notepad gezeigt.



Die WinZIp-Installation umfasst ca. 10 Dialoge, in denen man Schaltflächen drücken musste (normalerweise Weiter [engl. Next]), um mit der Installation fortzufahren. Wir werden ein Skript schreiben, das einfach auf diese Dialogfenster wartet und dann die richtigen Schaltflächen drückt. Wie bei derartigen Installationen üblich bleibt der Titel dieser Dialoge gleich (hier: WinZip Setup), sodass wir die Dialogfenster im Skript unterscheiden müssen. Ich habe euch Screenshots jedes einzelnen Fensters gemacht und wenn du auf das jeweilige Bild klickst, erhältst du die zugehörigen Window Spy Ergebnisse für den Dialog.



Lege zuerst ein Verzeichnis an, das wir für die WinZip-Installationsroutine und unser Skript benutzen werden. Kopiere die WinZip-Installationsroutine in das Verzeichnis und lege ein leeres Skript namens winzipinstall.au3 an.





Wir führen nun die Installation von Hand durch und schrieben quasi "nebenher" das Skript. Die zur Automation nötigen Skriptzeilen werden nach jedem Bild gezeigt (vergiss nicht, dass "hinter" den Bildern das Ergebnis der Anwendung des Window Spy schlummert!). Du aknnst dir stattdessen auch das komplette Skript anshen.



Die erste Skriptzeile ist einfach: Wir wollen die Datei winzip90.exe starten:

Quote:
Run("winzip90.exe")


Das erste Dialogfenster erscheint.




Wir müssen warten, bis dieses Fenster aktiv ist und dann die Tastenkombination ALT + S simulieren, um den Setup-Button anzuklicken. The resulting script lines are:

Quote:
WinWaitActive("WinZip® 9.0 SR-1 Setup", "&Setup")
Send("!s")
(Vergiss nicht, dir anzusehen, was der Window Spy zu diesem Fenster zu sagen hat, besonders, weil hier das speziellen Zeichen (R) vorkommt, das nur schwer einzutippen ist.)



Die Dialog zur Auswahl des Installationsverzeichnisses wird als nächstes erscheinen:




Wir müssen wiedder auf das Fenster warten und dann ENTER drücken, um das vorgeschlagene Verzeichnis zu akzeptieren. Die zugehörigen Skriptzeilen:


Quote:
WinWaitActive("WinZip Setup", "into the following folder")
Send("{ENTER}")

Danach kommt dieses Fenster:




Der Fenstertitel ist exakt der gleiche wie beim vorherigen und allen kommenden Fenster! Um den Skript nun den Unterschied zwischen den Fenstern mitzuteilen, musst du auch den Fenstertext verwenden. Versuche immer, den eindeutigsten möglichen Text zu nehmen. In diesem Fall habe ich mich für WinZip features include entschieden. Nach dem Erscheinen des Fensters wollen wir ALT + N drücken (lassen):

Quote:
WinWaitActive("WinZip Setup", "WinZip features include")
Send("!n")

Dann kommt der Lizenzdialog:



Wir müssen nur auf das Fenster warten und dann ALT + Y klicken, um den Vertrag zu akzeptieren:

Quote:
WinWaitActive("License Agreement")
Send("!y")

Die Installation geht einige Dialoge lang so oder so ähnlich weiter. Deshalb einfach nur das Bild und die jeweils zur Automation benötigten Skriptzeilen dazu.





Quote:
WinWaitActive("WinZip Setup", "Quick Start Guide")
Send("!n")


Quote:
WinWaitActive("WinZip Setup", "switch between the two interfaces")
Send("!c")
Send("!n")




Quote:
WinWaitActive("WinZip Setup", "&Express setup (recommended)")
Send("!e")
Send("!n")




WinWaitActive("WinZip Setup", "WinZip needs to associate itself with your archives")
Send("!n")





Das ist das letzte Dialogfenster der Installation. Beachte, dass der Finish-Buttin keinen Tastatur-Shortcut besitzt - zum Glück ist er ohnehin der Standarbutton, sodass wir einfach ENTER drücken können. Wenn das nicht so wäre, könnten wir mittels der ALT-Taste zwischen den Controls hin- und herspringen oder - noch besser - die ControlClick-Funktion benutzen.

Quote:
WinWaitActive("WinZip Setup", "Thank you for installing this evaluation version")
Send("{ENTER}")

Nach der Installation starten WinZip automatisch:




Wir waretn einfach auf das Fenster und benutzen dann die WinClose-Funktion, um es direkt wieder zu schließen.


Quote:
WinWaitActive("WinZip (Evaluation Version)")
WinClose("WinZip (Evaluation Version)")


Hier das komplette Skript - ich habe jedes Fenster kommentiert, damit sich das Skript leichter verstehen lässt.



Das war es schon! Führe die Datei winzipinstaller.au3 aus und sieh dir an, wie WinZip in wenigen Sekunden installiert wird. Die hier erlernten Techniken helfen dir, die meisten Installationen zu automatisieren.



Kleine Aufgabe: Benutze statt der Send-Funktion die ControlClick-Funktion.Dazu musst du vermutlich bei Controls weiter lesen.


das wars Ende...

(Von der Datei AutoIt-Hilfe (Deutsch).chm)
IIPLAYAII is offline  
Thanks
24 Users
Old 09/07/2010, 16:48   #2



 
Fani''s Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 4,042
Received Thanks: 1,239
richtig nice hat mir extrem geholfen, danke
Fani' is offline  
Old 09/07/2010, 17:36   #3



 
ShapyShape's Avatar
 
elite*gold: 7792
The Black Market: 390/0/0
Join Date: Aug 2010
Posts: 3,631
Received Thanks: 508
Gibt es auch in Google bzw Grundlagen der Autoit.. danke dir für die mühe
ShapyShape is offline  
Old 08/05/2011, 16:21   #4
 
playerXD97's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 179
Received Thanks: 60
weiß net ob ich das Thema wieder hoch holen soll ich mache es einfach mal also ich will grade ein bot schreiben und brauche Kommandos um
Der Bot nur eine bestimmte Adresse (Ein Tier) angreift also jedes tier hat nur eine Adresse hab schon fast alle
und hab die Kommandos um ihn zu stoppen also pause,fortsetzen,stopp vergessen
playerXD97 is offline  
Old 10/27/2011, 17:56   #5
 
elite*gold: 0
Join Date: Oct 2011
Posts: 1
Received Thanks: 0
hi und wo sind die bilder
deilnefle is offline  
Reply


Similar Threads Similar Threads
[Hilfe] Deutsch -.-
05/12/2010 - Oldschool - 1 Replies
schon gut xD habs schon xD
Quests auf Deutsch hilfe
02/13/2010 - Metin2 PServer Guides & Strategies - 4 Replies
HI ich wollt mal fragen ob mir einer eine deppen erklärung schicken könnte und zwar wie man die quests auf deutsch machen kann, und wer die richtigen quests dateien hatt bitte mit reinschreiben pls ich bedanke mich schon jetzt
Hilfe bei Longju2 deutsch exe
12/09/2009 - Metin2 Private Server - 9 Replies
hay leute ;) also ich möchte gerne den p server Longju2 auf deutsch spielen ich habe schon von vielen gesagt bekommen ich soll metin2 de version neu runter laden und dan installieren, aber dan noch nicht patchen, also nicht patchen is ja metin noch nicht öffnen oder ? naja das habe ich gemacht und dan diese metin2_longju2 exe eingefügt in der de order dan kommt son kommischer LOG datei naja schaut es euch selebr an. YouTube - metin2 deutsch exe problem,
Hilfe!!Kann jmd Deutsch??
01/26/2007 - Lineage 2 - 1 Replies
Hallo, könnte mir bitte bitte Jemand helfen... Ich zocke zur Zeit auf einem C5 Freeshardserver. Ich würde mir gerne mal ein paar Items hacken. Kann mir bitte jmd eine "Gebrauchsanweisung" geben. Bitte einfach erklärt...



All times are GMT +2. The time now is 09:10.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.