Hallo Elitepvpers!
Dies ist mein großer Guide über AutoIt, vieles wird von mir geschrieben, und manches habe ich im Internet gefunden, was aber hier nicht fehlen darf. Der Guide wird immer aktualiesiert und ist nicht von Anfang an Perfekt! Fangen wir mal mit einen kleinen Teil an.
Öffnen einer Datei:
Eine Nachricht senden:
Eine Messangebox erstellen:
Eine Datei erstellen:
Eine Datei kopieren:
Ein Ordner erstellen:
Ein Ordner kopieren:
Updatefunktion:
Schlusswort
Das wars, falls ihr Fragen habt, stellt diese im Thread. Credits gehen anKillerzwerg829 für den Script-Code für die Updatefunktion. Sonst ist alles von mir!
Don't Copy or Paste
Dies ist mein großer Guide über AutoIt, vieles wird von mir geschrieben, und manches habe ich im Internet gefunden, was aber hier nicht fehlen darf. Der Guide wird immer aktualiesiert und ist nicht von Anfang an Perfekt! Fangen wir mal mit einen kleinen Teil an.
Öffnen einer Datei:
Es gibt zwei Möglichkeiten um eine Datei zu öffnen, jedoch ist der Befehl Run nur für .exe Dateien. Der Befehl für alle anderen Dateien ist ShelleExecute.
Beispiel: Ich möchte mit AutoIt die NotePad.exe öffnen. Dazu schreibe ich in meinen Script:
Will ich aber zum Beispiel eine .txt öffnen oder eine .ini Datei benutze ich ShellExecute:
Wieso habe ich keinen Pfad angegeben?
Erklärung zu Beispiel 1: Weil Notepad ein Standard bei Windows ist und so direkt aufgerufen werden kann. Dazu brauch man kein Pfad.
Erklärung zu Beispiel 2: Dort habe ich einen Pfad angeben: @Desktopdir heißt einfach: C:\Users\Meik\Desktop. Durch das & signalisieren wir einfach das es noch weiter geht. Jetzt kommt nur noch "/meinetxt.txt". Man schreibt noch "/" weil es bei @DesktopDir nicht dabei ist, aber ohne das die Datei nicht startet.
Beispiel: Ich möchte mit AutoIt die NotePad.exe öffnen. Dazu schreibe ich in meinen Script:
PHP Code:
Run("Notepad.exe")
PHP Code:
Shellexecute(@DesktopDir & "/meinetxt.txt")
Erklärung zu Beispiel 1: Weil Notepad ein Standard bei Windows ist und so direkt aufgerufen werden kann. Dazu brauch man kein Pfad.
Erklärung zu Beispiel 2: Dort habe ich einen Pfad angeben: @Desktopdir heißt einfach: C:\Users\Meik\Desktop. Durch das & signalisieren wir einfach das es noch weiter geht. Jetzt kommt nur noch "/meinetxt.txt". Man schreibt noch "/" weil es bei @DesktopDir nicht dabei ist, aber ohne das die Datei nicht startet.
Eine Nachricht senden:
Um eine Nachricht zu senden, benutzt man den Befehl Send. Jedoch sendet dieser sofort, heißt wenn kein Fenster offen ist, wobei man nicht schreiben kann, ist das so, als wenn ihr auf der Tastatur tippt, ohne Fenster. Deshalb benutzen wir noch einen Befehl namens Sleep. Dieser Befehl ist dafür da, um einen Timer zu setzen, wann das Programm wieder starten soll.
Beispiel:
Jetzt kann aber auch erst Notepad starten und dann eine Nachricht in Notepad hinterlassen also müssen wir einfach zu nächst mit den Befehl Run Notepad öffnen:
Doch wie jeder weißt brauchen Programme meistens bis sie geladen sind. Deshalb kann man einfach den Befehl Sleep benutzen oder man benutzt WinWaitActive. Aber mehr zu dem Befehl später. Zunächst benutzen wir mal Sleep. 1 Sekunde ist 1000. Also ist 10000 10 Sekunden!
Beispiel:
Beispiel:
PHP Code:
Send("Hallo, das ist ein Test")
PHP Code:
Run("Notepad.exe")
Send("Hallo, das ist ein Test")
Beispiel:
PHP Code:
Run("Notepad.exe")
Sleep(3000)
Send("Hallo, das ist ein Test")
Eine Messangebox erstellen:
Um eine Messangebox zu erstellen benutzt man den Befehl Msgbox. Danach setzt man die Form, heißt: Welche Buttons, es gibt welche mit Okay, aber welche mit abbrechen und etc... Diese werden mit Zahlen von 0 bis keine Ahnung sehr sehr sehr viel. Im AutoIt.de Forum gab es sogar eine 5stellige Zahl. Aber für uns reicht erstmal die 0. Jetzt setzt man nur noch Title und Text: Fertig!
Beispiel:
Beispiel:
PHP Code:
MsgBox(0,"Der Test","Hallo dies ist ein Test")
Eine Datei erstellen:
Um eine Datei zu erstellen, benutzt man den Befehl FileWrite. Man setzt einfach den Pfad um am Ende schreibt man halt welche Datei man erstellen will: Beispiel: Ich will ein .txt Dokument auf dem Desktop:
Oder wie wärs mit einer xls-Datei? ( Excel )
PHP Code:
FileWrite(@Desktopdir & "/einetxt.txt"
PHP Code:
FileWrite(@Desktopdir & "/einexls.xls"
Eine Datei kopieren:
Um eine Datei zu kopieren, benutzt man den Befehl FileCopy. Man setzt erst den Pfad wo das Programm liegt und dann wo es hinkopiert werden soll.
Beispiel:
Fail ist ein Ordner
Beispiel:
PHP Code:
FileCopy(@DesktopDir & "/meinetxt.txt", @DesktopDir & "/fail/meinetxt.txt")
Ein Ordner erstellen:
Um einen Ordner zu erstellen, benutzt man den Befehl DirCreate. Man setzt den Pfad + Ordnernamen. Beispiel: Ich möchte in den Ordner wo das Script ist, ein Ordner namens Lol haben.
ScriptDir ist das selbe wie DesktopDir nur das, das jetzt nicht auf den Desktop ist sondern in den ScriptOrdner.
PHP Code:
DirCreate(@ScriptDir & "Lol")
Ein Ordner kopieren:
Um einen Ordner zu kopieren, benutzt man den Befehl DirCopy, dieser ist genau so wie der Befehl FileCopy aufgebaut nur das man jetzt Ordner kopiert:
lol ist ein Ordner auf den Desktop und Create ist ein Ordner auf den Desktop. Jetzt wird einfach der Ordner lol in den Ordner Create kopiert, heißt jetzt gibt es zwei Ordner von lol, auf den Desktop und in den Ordner Create.
PHP Code:
DirCopy(@DesktopDir & "/lol",@DesktopDir & "/create/lol")
Updatefunktion:
Ein gut erstelltes Programm braucht natürlich auch Updates, und hier wird erklärt wie.
Einmal mit Appserv und einmal mit FileZilla. Der Unterschied zu FileZilla ist, dass FileZilla ein Webspaceserver ist und immer online ist. Appserv jedoch ist so wie PC zu PC, d. h. nur wenn der PC online ist und der andere User mit dem Computer (mit Hamachi) in Verbindung stehen müsst, kann der User das Update herunterladen.
Inhaltsverzeichnis:
1. Downloads
2. Installationen
2.1 Appserv
2.2 FileZilla
3. Der Script-Code
4. Updater via localhost (Appserv)
5. Updater via FTP-Client (FileZilla)
6. Update im neuen Ordner patchen
7. Schlusswort
Installationen:
Appserv:
FileZilla:
Der Script-Code:
Updater via localhost:
Updater via FTP-Client:
Programm im neuen Ordner patchen:
Einmal mit Appserv und einmal mit FileZilla. Der Unterschied zu FileZilla ist, dass FileZilla ein Webspaceserver ist und immer online ist. Appserv jedoch ist so wie PC zu PC, d. h. nur wenn der PC online ist und der andere User mit dem Computer (mit Hamachi) in Verbindung stehen müsst, kann der User das Update herunterladen.
Inhaltsverzeichnis:
1. Downloads
2. Installationen
2.1 Appserv
2.2 FileZilla
3. Der Script-Code
4. Updater via localhost (Appserv)
5. Updater via FTP-Client (FileZilla)
6. Update im neuen Ordner patchen
7. Schlusswort
Installationen:
Appserv:
Folgende Einstellungen übernehmen:
InstallationsOrdner = C:\Appserv
Apache HTTP Server = Häckchen
MySQL Database = Häckchen
PHP Hypertext Preprocessor = Häckchen
phpMyAdmin = Häckchen
Server Name = root
Email Adresse = irgendeine
Passwort = individuelles Passwort
Und am Ende bei Start Apache und Start MySQL auch Häckchen machen!
InstallationsOrdner = C:\Appserv
Apache HTTP Server = Häckchen
MySQL Database = Häckchen
PHP Hypertext Preprocessor = Häckchen
phpMyAdmin = Häckchen
Server Name = root
Email Adresse = irgendeine
Passwort = individuelles Passwort
Und am Ende bei Start Apache und Start MySQL auch Häckchen machen!
FileZilla:
Ganz normal installieren, es gibt keine wichtigen Einstellungen.
Der Script-Code:
Es werden immer Schritt für Schritt Teile des Scriptes erklärt und am Ende nocheinmal das Gesamte.
Der erste Teil:
Zunächst wird die update.txt im Ordner gelöscht, indem sich das Programm befindet, wenn sich diese existiert. Danach downloadet das Programm mit dem Befehl InetGet die neue Update.txt. In dieser .txt steht die Versionnummer, zum Beispiel 1.0.0.2. Der Befehl, dass die Update.txt geöffnet wird, wird mit der Variable $file gekürzt. Ebenfalls auch der Befehl, das diese beiden verglichen werden. Jetzt wird überprüft ob die Versionnummer, mit der Versionnummer der Settings.ini übereinstimmt, wenn diese übereinstimmen oder nicht übereinstimmen, kommt im nächsten Scriptteil. Falls die Settings.ini nicht existiert wird ein Update erfolgen, weil dort keine Versionnummer angegeben ist und 0 = 1.0.0.2 ist nicht identisch.
Dort steht einfach, wenn die identisch sind, dann soll die Update.txt geschlossen werden, danach gelöscht werden und ein MessangeBox soll erscheinen mit dem Titel Keine neue Version und dem etxt Es gibt kein Update.
Wenn diese aber nicht übereinstimmen dann soll eine Messangebox uns darauf hinweisen, das ein Update verfügbar ist. Man wird gefragt, ob man Downloaden möchte, klickt man nein, passiert nichts, klickt man ja dann wird die neue Datei runtergeladen. und die Settings.ini mit der neuen Versionnummer wird erstellt. Dann wird die Update.txt geschlossen und gelöscht. Jetzt erscheint nur noch eine Messangebox, dass das Programm heruntergeladen worden ist.
Und hier ist nochmal der Gesamtcode:
Der erste Teil:
PHP Code:
FileDelete(@TempDir & "\update.txt")
InetGet("siehe 4. und 5.",@TempDir & "\update.txt", 1, 0)
$file = FileOpen(@TempDir & "\update.txt", 0)
$ver_server = FileReadLine($file, 1)
$ver_pc = IniRead("Settings.ini", "Info", "Version","")
PHP Code:
If $ver_server = $ver_pc or $ver_server = "" Then
FileClose($file)
FileDelete(@TempDir & "\update.txt")
msgbox(0, "Keine neue Version","Es gibt kein Update!")
PHP Code:
$msgbox = MsgBox(36, "Update!", "Es ist ein neues Update verfügbar! Downloaden?")
If $msgbox = 6 Then
Tooltip("Update wird runtergeladen... bitte warten....")
InetGet("siehe 4. und 5.",@scriptDir&"\" & "DATEINAME", 1, 0)
IniWrite("settings.ini", "Info", "Version", $ver_server)
FileClose($file)
FileDelete(@ScriptDir & "update.txt")
Tooltip("")
msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
EndIf
EndIF
Und hier ist nochmal der Gesamtcode:
PHP Code:
FileDelete(@TempDir & "\update.txt")
InetGet("Siehe 4. und 5.",@TempDir & "\update.txt", 1, 0)
$file = FileOpen(@TempDir & "\update.txt", 0)
$ver_server = FileReadLine($file, 1)
$ver_pc = IniRead("Settings.ini", "Info", "Version","")
If $ver_server = $ver_pc or $ver_server = "" Then
FileClose($file)
FileDelete(@TempDir & "\update.txt")
msgbox(0, "Keine neue Version","Es gibt kein Update!")
Else
$msgbox = MsgBox(36, "Update!", "Es ist ein neues Update verfügbar! Es wird die neuere Version gedownloadet." & @CRLF & "Sie können die alte Version löschen! Downloaden?")
If $msgbox = 6 Then
Tooltip("Update wird runtergeladen... bitte warten....")
InetGet("siehe 4. und 5.",@scriptDir&"\" & "DATEINAME", 1, 0)
IniWrite("settings.ini", "Info", "Version", $ver_server)
FileClose($file)
FileDelete(@ScriptDir & "update.txt")
Tooltip("")
msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
EndIf
EndIf
Updater via localhost:
Zunächst einmal suchen wir unseren Ordner Appserv in C:\ und öffnen den Ordner. Öffnen dann den Ordner www. Dort sieht man 3 Ordner und 2 .php Dateien. Man kann alles löschen außer den Ordner Appserv und cgi-bin. Erstellt nun in den Ordner www ein .txt Dokument mit den Namen Update und schreibt dort die versionnummer an: 1.0.0.2 Mehr nicht!
Nun kopiert euer Programm in den www Ordner. Falls ihr dann eine neue Version eures Programms habt, ändert ihr in der Update.txt die Nummer in 1.0.0.3 und so weiter. Und ersetzt das eurer Programm mit dem neuen.
Jetzt nurnoch folgende Zeilen verändern:
in:
und:
in:
Jetzt können aber nur du darauf zugreifen, den 127.0.0.1 = localhost = mein PC. Installiert Hamachi und änder
zu
Die User die Updaten wollen, müssen in ein von dir erstelltes Hamachi-Netzwerk und du musst online sein, damit die es downloaden können!
Nun kopiert euer Programm in den www Ordner. Falls ihr dann eine neue Version eures Programms habt, ändert ihr in der Update.txt die Nummer in 1.0.0.3 und so weiter. Und ersetzt das eurer Programm mit dem neuen.
Jetzt nurnoch folgende Zeilen verändern:
PHP Code:
InetGet("Was hier stehen wird, steht unten",@TempDir & "\update.txt", 1, 0)
PHP Code:
InetGet("127.0.0.1/update.txt",@TempDir & "\update.txt", 1, 0)
PHP Code:
InetGet("was hier steht wird, steht unten",@scriptDir&"\" & "DATEINAME", 1, 0)
PHP Code:
InetGet("127.0.0.1/Programmname.exe",@scriptDir&"\" & "programmname.exe", 1, 0)
PHP Code:
127.0.0.1
PHP Code:
Deine Hamachi Ip z.B. 5.32.23.231
Updater via FTP-Client:
Ihr braucht einen Webspaceserver, dazu könnt ihr euch bei kilu.de anmelden, es ist völlig kostenlos. Jedoch solltet ihr keine richige Adresse und etc angeben. Die Emailadresse muss richtig sein, weil dort das Passwort gesendet wird.
Wenn ihr euch eingeloggt habt befolgt die 4. Schritte:
Jetzt startet FileZilla und gibt euere Daten dort ein, Port könnt ihr freilassen:
Wenn ihr verbunden seid, klickt auf den www Ordner und zieht Update.txt und euer Programm einfach dort rein. Jetzt muss man nurnoch die Befehle InetGet ändern:
in:
und:
in:
Hier noch mal ein Beispiel, wie es aussehen könnte:
Wenn ihr euch eingeloggt habt befolgt die 4. Schritte:
Jetzt startet FileZilla und gibt euere Daten dort ein, Port könnt ihr freilassen:
Wenn ihr verbunden seid, klickt auf den www Ordner und zieht Update.txt und euer Programm einfach dort rein. Jetzt muss man nurnoch die Befehle InetGet ändern:
PHP Code:
InetGet("Was hier stehen wird, steht unten",@TempDir & "\update.txt", 1, 0)
PHP Code:
InetGet("KILUADRESSE/update.txt",@TempDir & "\update.txt", 1, 0)
PHP Code:
InetGet("was hier steht wird, steht unten",@scriptDir&"\" & "DATEINAME", 1, 0)
PHP Code:
InetGet("KILUADRESSE/Programmname.exe",@scriptDir&"\" & "programmname.exe", 1, 0)
PHP Code:
InetGet("quizthefreakbpx3.co.de/update.txt",@TempDir & "\update.txt", 1, 0)
PHP Code:
InetGet("quizthefreakbpx3.co.de/updatefunk.exe",@scriptDir&"\" & "updatefunk.exe", 1, 0)
Programm im neuen Ordner patchen:
Um das Programm in einen neuen Ordner zu patchen, schauen wir uns folgende Zeilen einmal an:
Jetzt schreiben wir einfach zwischen den Befehlen Tooltip und InetGet den Befehl DirCreate hin, so:
Jetzt müssen wir noch noch den Patchpfad bei InetGet ändern:
PHP Code:
If $msgbox = 6 Then
Tooltip("Update wird runtergeladen... bitte warten....")
InetGet("http://127.0.0.1/updatefunk.exe",@scriptDir& "\" & "updatefunk.exe", 1, 0)
IniWrite("settings.ini", "Info", "Version", $ver_server)
FileClose($file)
FileDelete(@ScriptDir & "update.txt")
Tooltip("")
msgbox(0,"Update", "Das Programm wurde heruntergeladen! Danke fürs downloaden!")
PHP Code:
DirCreate(@ScriptDir & "neues update")
PHP Code:
InetGet("http://127.0.0.1/updatefunk.exe",@scriptDir & "neues update\updatefunk.exe", 1, 0)
Schlusswort
Das wars, falls ihr Fragen habt, stellt diese im Thread. Credits gehen anKillerzwerg829 für den Script-Code für die Updatefunktion. Sonst ist alles von mir!
Don't Copy or Paste