electriZZ'ed AutoIT Tutorial (Anfänger bis Fortgeschrittene)

  • [FONT="Arial"][FONT="Century Gothic"][SIZE="4"][COLOR="Orange"]electri[COLOR="Yellow"]ZZ[/COLOR][/COLOR][COLOR="DarkOrange"]'ed[/COLOR][/SIZE] [SIZE="6"][COLOR="DeepSkyBlue"]Auto[/COLOR][COLOR="PaleTurquoise"]IT[/COLOR] [COLOR="PaleGreen"]Tutorial[/COLOR][/SIZE][/FONT]
    [/FONT]


    [SIZE="3"]Ich werde hier nach und nach ein komplettes Tutorial mit Kapiteln schreiben.

    Für Anfänger bis Fortgeschrittene.
    Die Anfänger sollten direkt beim ersten anfangen, der Einleitung und sich bis zu den Variablen und Arrays durch schlagen.
    Dann das ganze verdauen und verstehen, erst danach sollten sie sich als Fortgeschrittene an die anderen Sachen ran machen =)

    Ich werde aber noch mehr einführen.
    [/SIZE]


    [FELD="Inhaltsverzeichnis"]
    Einleitung
    Help File
    GUI's
    Variablen und Arrays
    Windows Message Codes
    SQLite (Offline DB)
    Multi Tasking
    Mit DLL's arbeiten
    [/FELD]

    Links zu tutorials die ich hier nicht hinein integriert habe.
    [FELD="Externes"]
    [HOW-TO]Server Programmieren in AutoIT + TCP Infos - by electriZer
    [Guide] AutoIT für Einsteiger - by internetfreak
    [Guide] Die GUI von Autoit - by internetfreak
    [/FELD]

    Ich habe hier hauptsächlich meine anderen Tutorials in ein großes Zusammengeführt, natürlich sind noch ein paar neue Dinge dabei.
    Das Server Tutorial habe ich nicht mit eingefügt, es ist zu groß.



    Bitte postet hier nichts hinein, fragt mich per PM falls ihr Fragen habt =)


  • Einleitung

    .:: Einleitung ::.
    _________________

    Was brauche ich?

    Als erstes muss man sich das AutoIT Pack runterladen,
    dort ist alles enthalten was man braucht.

    :: STEP BY STEP ::


    Als erstes auf die
    -
    AutoIT Download Page
    -Auf "Download AutoITv3" klicken (rechts)
    -Installieren
    ::FERTIG::

    Danach wieder auf die
    -
    AutoIT Download Page
    -Auf "Download Editor" klicken (rechts),
    das ist die Eweiterte Version des Editors,
    mit allen wichtigen Tools,
    wie zB:
    -Koda Form Designer
    -AutoIT Wrapper Tool
    -Tidy tool
    -Obfuscator
    -etc...

    -Installieren
    ::FERTIG::


    Wie mache ich ein neues Programm?

    Als erstes, braucht man eine neue Datei.

    :: STEP BY STEP ::

    In irgendeinen Ordner gehen,
    in dem man die Datei möchte

    -Rechtsklick
    -Auf "Neu"
    -Es erscheint ein Sub Menü,
    dort auf "AutoIT v3 Script"
    :: FERTIG ::


    Dann muss man sie noch zum Editieren öffnen.

    :: STEP BY STEP ::

    -Rechtsklick auf die script datei
    -Auf "Edit Script"
    -Es erscheint ein neues Fenster,
    dies ist der Editor,
    dieser heißt "SciTE" (das sollte man sich merken^^)
    :: FERTIG ::




    Reicht das?

    Vorerst und für Anfänger ja.
    Ok, etwas hab ich noch ;)

    Ihr solltet euch nicht selber "Noob" nennen,
    wer sich selber einen "Noob" nennt,
    ist ein Hoffnungsloser Fall.
    Nur wer Selbstvertrauen hat,
    schaft auch etwas!

    WICHTIG :
    -Immer Cool bleiben 8)
    -Nicht jeden mist Releasen
    -Auf Rechtschreibung achten
    -Darauf achten wie man
    bei den anderne rüber kommt
    - NIX LEECHEN
    - KEIN COPY & PAST

    masn sollte nur Dinge posten,
    die man auch selber gemacht / geschrieben hat!
    Es sei denn man hat die Anweisung
    oder eine Erlaubnis.
    Denn man bekommt den ganzen Ruhm,
    und nicht der eigentliche Author,
    ansonsten wäre es "leechen",
    und das is erbärmlich!!!


    (C) by Jiyan Akgül

  • Help File

    .:: Help File ::.
    _________________

    Was heißt Help File?

    Das ist Englisch und heißt "Hilfe Datei".
    In dem Help File sind alle
    Befehle und Funktionen von AutoIT,
    mit Beispiel und Erklärung dokumentiert.

    Wie öffne ich das Help File?

    Nach dem ihr AutoIT installiert habt,
    eine neue Datei erstellt und geöffnet habt,
    könnt ihr loslegen^^.

    :: STEP BY STEP ::

    Oben in SciTE befindet sich das Menü.

    -Im Menü auf den letzten Eintrag
    "Help" klicken
    -Es erscheint ein Menüfeld.
    dort klickt ihr auf "Help F1"
    -Es erscheint ein neues Fenster,
    dies ist das Help File.


    Wenn man das Help File erst mal kennt,
    merkt man wie umfangreich es ist.


    ::HOW TO::
    __________

    Wie ihr sieht gibt es im linken Tab Menü
    4 Felder.
    "Inhalt"
    "Index"
    "Suchen"
    "Favoriten"
    ___________

    Inhalt

    Hier sind alle Einträge
    als Tree view (~Baumstamm stil)
    unterteilt aufgelistet.

    Index

    Hier könnt ihr etwas
    in das Feld eingeben,
    und das Help File sucht
    automatisch nach übereinstimmenden
    Einträgen, und listet sie auf.

    Suchen

    Hier könnt ihr nach Stichwörtern suchen.

    Favoriten

    Hier könnt ihr besonders
    wichtige Einträge abspeichern
    und abrufen.


    Was ist das Wichtigste?

    Als aller erstes würde ich
    die ganzen GUI Control Styles nennen,
    bei denne auch die nötigen Includes
    angegeben sind.

    Die findet ihr unter:

    Code
    AutoIT -> Appendix -> Gui Control Styles



    Dann benötigt ihr noch alle Gui Befehle und Beispiele.
    Die findet ihr unter:

    Code
    AutoIT -> Function Reference -> GUI Reference


    Dort sind alle Befehle und beispiele enthalten.

    Und da aus irgndeinem Grund, den ich nicht kenne,
    jeder einen Bot machen möchte.
    Empfehle ich die Mose Funktionen :

    Code
    AutoIT -> Function Reference -> Mouse Control


    und die Pixel Funktionen :

    Code
    AutoIT -> Function Reference -> Graphic and Sound Functions



    soweit wäre das wichtigste und meistbenutze geklärt^^.


    Gibt es noch was?

    Ja, für die Englisch Muffel gibt es auch eine komplette Deutsche Version der Hilfe Datei.
    Diese wurde vom Deutschen AutoIT Forum erstellt.
    http://translation.autoit.de/


    (C) by Jiyan Akgül

  • GUI's


    .:: GUI ::.



    ______



    Als erstes braucht ihr natürlich irgendwas wo man draufklicken kann

    am einfachsten is natürlich ein Button.
    Ich hab hier ein beispiel mit dem ich hier im guide arbeiten werde :

    Zitat

    $hGui = GuiCreate("My Gui",100,100)

    $Button1 = GuiCtrlCreateButton("Nummer 1",0,0,100,50)

    $Button2 = GuiCtrlCreateButton("Nummer 2",0,50,100,50)

    GuiSetState() ; Das ist der Befehl dafür, dass unsere Controls angezeigt werden

    wenn man diesen Code jetzt startet geht das Fenster gleich wieder weg.

    Wieso?

    Weil der Computer einfach nur ein GUI erstellt und da nach dem GUI kein Code kommt.
    Heißt das für den Computer, dass der Script zu ende ist.

    Damit das GUI nicht mehr aus geht brauchen wir irgendeine endlose Schleife.

    Die bekannteste ist die while-Schleife.
    Und diese bauen wir jetzt in unser Skript ein.

    Anfang der Schleife :

    Zitat


    While 1

    Ende Der Schleife

    Zitat


    WEnd

    _____Das Gui ist Fertig________


    Jetzt kommt das bei dem die meisten Probleme haben

    Die Funktionen

    Am einfachsten ist es sie in die Schleife zu packen (While, For, etc..)

    Dann kann man sie mit einer If abfrage abfragen :

    Zitat

    If $msg = $Button1 then
    {Deine Funktion}
    EndIf


    ...oder mit dem einfachsten :
    Select & Switch


    Ihr seht bestimmt schon einen Unterschied :D

    Ja bei Select muss man immer

    Zitat


    case $msg = $Button



    schreiben und bei Switch jedoch muss man nur

    Zitat


    case $Button


    Also wer das jetzt einfach für sein GUI anpasst und einer der 3 Varianten in die Schleife einbaut müsste das locker hinbekommen


    (C) by Jiyan Akgül

  • Variablen und Arrays


    [SIZE="4"]
    .:: Variablen und Arrays ::.
    __________________________
    [/SIZE]


    Wer noch keinen Schimmer von Arrays und Variablen hat, ist hier gut aufegehoben ;)

    Zur sicherheit schreib ich hier au ein wenig mehr für die Totalen anfänger ^^

    ___

    Man kann Informationen ( Texte, zahlen, etc.. ) in "Variablen" speichern,
    jeder der was in au3 programmiert hat, hat sowas zu 100% benutzt ^^
    Vllt. weiß er nur nicht wie man es nennt ^^

    Also hier die Lösung :

    Code
    $Password = "password"

    Die Variable hier ist

    Code
    $Password


    =) ^^
    ich glaube das hat jetzt jeder kapiert ^^
    eine Variable kann man in AutoIT
    mit einem "
    $ " definieren.

    Das wäre dann geritzt.
    ___

    Ein Array ist in Dimensionen Unterteilt.
    Ein Standart Array, so wie es häufig benutz wird, hat nur eine Dimension.
    Man kann es durch folgende Syntax Comands Deklarieren :

    Code
    Dim
    ReDim
    Global
    Local
    ;etc..


    nach einem solchen Syntax Comand folgt eine normale Variable

    Code
    Dim $Array

    und dann folgen die "Dimensionen"
    hier nur eine Dimension :

    Code
    Dim $Array[100]

    wenn man dies gemacht hat kann man das Array benutzen.

    Bei einer Normalen Variable kann man nur einen Wert zuweisen.

    Code
    $Variable = "Der eine Wert"

    Aber bei einem Array kann man mehrere Werte zuweisen.

    Code
    Dim $Array[100]
    $Array[0] = "Der erste Wert"
    $Array[1] = "Der zweite Wer"
    ;...
    $Array[99] = "Der 100-teste Wert"

    Wie man hier sieht fange ich bei "0" an und höre bei "99" auf anstatt bei "100", dass ich ja als Dimensonsgröße angeben habe.
    Das liegt daran das, dass array halt bei 0 anfaäng und es dann bis 99 exakt 100.

    Man kann auch mehrere Dimensionen benutzen :

    Code
    Dim $2D_Array[[COLOR=DeepSkyBlue]10[/COLOR]][[COLOR=Lime]5[/COLOR]]

    das wäre dann zu vergleichen mit einem Hoch Haus das 10 Stockwerke und jeweils 5 Wohnungen pro Stockwerk hat.

    Zitat

    Es ist wie eine Daten Bank


    Was aber nicht geht ist :

    Code
    Dim $2D_Array[10][5]
    
    
    $2D_Array[1] = "Flur & eingang"

    wenn es mehrer Dimensionen hat, dann muss auch jede einzelne angegebn sein, was ich hier als ersatz empfehlen würde wäre

    Code
    Dim $2D_Array[10][5]
    
    
    $2D_Array[1][0] = "Der Flur"

    dann würde halt Wohnung nr.5 ausfallen ^^, es sei denn man würde den maximal Wert der 2ten Dimension einfach vergrößern ^^

    ich hoffe ihr habt was drauß gelernt

    (C) by Jiyan Akgül

  • Windows Message Codes

    [FONT="Century Gothic"]


    [SIZE="4"]
    .:: Windows Message Codes ::.
    _______________________________
    [/SIZE]


    Windows Message Codes, abgekürzt WM Codes, sind Codes/Befehle die man , auch mit AutoIT, an Windows Übermitteln kann.
    Damit kann man zum Beispiel den Monitor ausschalten und wieder anschlaten oder nachsehen lassen ob die Maus sich gerade über einem Objekt befindet (Hover) .

    [COLOR="LemonChiffon"]Wie rufe ich die WM Codes auf?[/COLOR]
    In AutoItv3 ist die folgende Funktion enthalten.

    Code
    GuiRegisterMsg()

    Damit registriert man einen Code und eine, in String Tags angegebene, Funktion.

    So führt AutoIT diese Funktion aus, wenn der WM Code ausgeführt wird.

    Die WM Codes findet man im Help File.

    Code
    AutoIT - > Appendix -> Windows Message Codes

    Und hier : Windows Message Codes

    Im Helpfile und im obrigen genannten Link sieht man 2 Tabellen ( Da alles so eng ist, sieht man es erst wenn man zweimal hinguckt)

    In jeder Tabelle befinden sich jeweils 2 Spalten.
    In der Ersten Spalte steht der Name des WM Comands, von dem man auch auslesen kann wofür er da ist.
    Und in der Zweiten Spalte steht Der Hexadezimale Wert Des Commands.

    Als Include kann man folgende Datei nutzen:

    Code
    #include <GuiConstantsEx.au3>

    Aber leider sind nicht alle WM Comands als AutoIT Variable im include gespeichert.
    Man muss also auch mal selber etwas deklarieren, was ja nicht so tragisch ist.

    Ein Beispiel :

    Bei dem Code habt ihr bestimmt bei der Func, die 4 Parameter gesehen, die aber gar nicht genutzt wurden.
    Diese Parameter kann man nutzten, sie stehen auch im Helpfile unter dem "GuiRegisterMsg()" - eintrag.

    Zitat


    hWnd - The Window handle of the GUI in which the message appears.
    Msg - The Windows message ID.
    wParam - The first message parameter as hex value.
    lParam - The second message parameter as hex value.

    Falls ihr aber WM Commands ausführt bei dem Daten zurückgegeben werden.
    Dann müsst ihr eine neue Struktur anlegen.
    Dies gelingt euch durch

    Code
    DllStructCreate()


    Daten werden mit folgender Funktion eingetragen:

    Code
    DllStructSetData()


    Mit dieser folgender Funktione werden sie wieder ausgelesen:

    Code
    DllStructGetData()


    Und mit dieser folgender Funktion kann man den Pointer / Zeiger oder auch bekannt als "ptr" bekommen:

    Code
    DllStructGetPtr()

    Mehr zur Sache mit den Dll Strukturen findet ihr im Helpfile.
    Und die Strukturen zu den WM Comands bekommt ihr in Google, hauptsächlich in der MSDN libary von Microsoft.

    Manche werdne jetzt denken, dies sei etwas für fortgeschrittene und ein schwer zu bewältigenes Stück Arbeit, aber nein, so ist es nicht.
    Die verwendung von WM Comands gibt euch die Möglichkeit noch mehr dinge zu machen.
    Und das Ziel ist ganz eindach zu erreichen.
    Und fals einer denkt es sei unmöglich, dann irrt er sich gewaltig, denn sonst wäre es ja nicht eingetragen und vorallem :

    Code
    [COLOR="DarkOrange"][B]NOTHING IS IMPOSSIBLE[/B][/COLOR]

    Und wenn ihr verzweifeln sollted, dann sucht in den offiziellen Foren nach beispielen zu den WM Commands, dort sind auch sehr viele UDF, an die ihr noch nicht eimal im Traum gekommen wärt, weil ich dachtet das ginge nicht so einfach.


    (C) by Jiyan Akgül
    [/SIZE][/FONT]

  • SQLite

    [FONT="Century Gothic"]

    [SIZE="4"]
    .:: SQLite ::.
    ______________[/SIZE]

    Wenn man sich in AutoIT so etwas wie eine Ressourcen Datei oder auch bekannt als .res File (ressource file) wünscht, dann ist eine DB momentan die beste und einfachste Lösung. (Ohne Server natürlich)

    Und die DB Engine, die im AutoIT Pack als UDF integriert ist, hat eine extrem leichte Handhabung und benötigt keinen Server.

    Man kann DB Dateien erstellen, diese werden dann im angegebenen Pfad erstellt und wenn sie schon existieren, dann werden sie geöffnet und man kann auf sie zugreifen.

    Aber man braucht dazu die SQLite UDF und die SQLite.dll .
    Die mitgegebene UDF enthält bereits alle nötigen Funktionen, und die DLL wird auf Wunsch automatisch erzeugt.

    C
    #include <SQLite.au3> ;; Die UDF
    #include <SQLite.dll.au3> ;; Die DLL, sie wird automatisch abgespeichert

    Nachdem includen der ganzen Sachen muss die DLL ja geöffnet werden usw.
    Dazu wird folgendes gemacht :

    Code
    _SQLite_StartUp()

    Danach öffnen wir eine DB (falls die angegebene Datei nicht existiert wird sie erstellt)

    Code
    $hDB = _SQLite_Open("DB.db")


    [COLOR="PaleTurquoise"]Nun wird die Datei "DB.db" im Momentanen Ordner erstellt.
    Man kann das ganze auch ohne eine Datei zu benutzen machen.
    Nur wird dann auch nichts gespeichert.[/COLOR]

    Code
    $hDB = _SQLite_Open(":memory:")
    ;; oder einfach
    $hDB = _SQLite_Open ()


    [COLOR="PaleTurquoise"]Nun nachdem die DB erstellt wurde kann man mithilfe der UDF und der DLL auf sie zugreifen.[/COLOR]

    Als Beispiel erstellen wir mal eine Tabelle :

    Code
    _SQLite_Exec ($hDB, "CREATE TABLE Tabelle (Row1,Row2,Row3);")


    [COLOR="PaleTurquoise"]Anstatt "$hDB" kann man auch einfach "-1" verwenden, dabei wird die als letzte geöffnete DB verwendet.[/COLOR]

    Nun wo eine Tabelle existiert kann auch etwas eingetragen werden.

    Code
    _SQLite_Exec ($hDB, "INSERT INTO Tabelle (Row1,Row2,Row3) VALUES ('(C)','by','*electriZer*');")


    [COLOR="PaleTurquoise"]_SQLite_Exec() kann man dazu verwenden um neue Daten anzulegen, zum Auslesen wäre _SQLite_Query() vorteilhafter, da bei _SQLite_Exec() keine Rückgabe erfolgt.[/COLOR]

    Damit hätten wir den ersten Eintrag,
    um den wieder auszulesen, damit das ganze auch seinen Sinn hat,
    müssen wir folgendes tun :

    Code
    Local $hQuery,$aRow
    _SQLite_Query($hDB, "SELECT * From Tabelle",$hQuery)


    [COLOR="PaleTurquoise"]Ihr seht hier schon eine Variable die gar nicht deklariert wird ($hQuery).
    Die Funktion ist so aufgebaut das man nicht alles selber deklarieren muss ($x=0), sondern, dass das die Funktion übernimmt.
    Man gibt den Namen der Variable an und die Funktion speichert die Rückgabe dort hinein.
    Aber damit der Compiler keine Probleme macht, dass $hQuery nicht deklariert sei. Wurde $hQuery hier mit "Local" als eine Local Variable deklariert ("Local" ist auch so etwas wie "Global"). Und $aRow wird für die folgende Funktion benötigt, der Grund der Deklaration ist der gleiche wie bei $hQuery.[/COLOR]

    Weiter gehts, das war nicht alles:

    Code
    _SQLite_FetchData ($hQuery, $aRow)
    MsgBox(0x40,"[INFO]",$aRow[0]&" "&$aRow[1]&" "&$aRow[2])


    Und schon wird euch in einer MsgBox der Inhalt in der Tabelle angegeben.

    Aber jetzt muss die DB und die DLL noch geschlossen werden.

    Code
    _SQLite_Close($hDB)
    _SQLite_Shutdown()

    Um noch mehr mit SQLite anzufangen als eine kleine Tabelle mit 3 Spalten zu erstellen und auszulesen, solltet ihr SQL lernen.
    Und wer schon mit MySQL gearbeitet hat kann auch mit SQLite arbeiten.
    (PS : SQLite kann man auch in PHP verwenden)

    Den gesamten Code müsst ihr euch dann mal selber zusammensuchen =)
    Und die SQLite UDF hat noch ein paar Funktionen mehr auf Lager.

    [SIZE="3"](C) by Jiyan Akgül
    Dieses Tutorial ist Urheberrechtlich geschützt,
    das Kopieren ohne Erlaubnis sowie Fälschung des Urheber Namens macht sie Strafbar.[/SIZE][/FONT]

  • Multi Tasking

    [FONT="Century Gothic"]

    [SIZE="4"]
    .:: Multi Tasking ::.
    ___________________[/SIZE]

    Man kann verschiedene schleifen parallel und fast Zeitgleich (es sind nur ein paar Nanosekunden ) laufen lassen.
    Das nennt man "Multi Tasking"
    Ihr werded nur 5 min brauchen und schon seid ihr schlauer ;)

    Die Funktion dazu ist schon in AutoITv3 integriert.

    Erst ausführen/testen und dann source gründlich durchlesen!

    Wer beides gemacht hat, der müsste jetzt bemerkt haben, dass alle 3 parallel laufen.
    Und das noch in verschiedenen Zeitabschnitten.

    Um diese schleife zu beenden kann man einfach

    Code
    AdlibDisable()

    benutzen dann werden die Schleifen gestoppt.

    Also AdlibEnable(Func (als String), ZeitAbschnitt)

    Der Zeitabschnitt ist optional, also er muss nicht sein.
    Der standart Wert dafür, welcher dann auch benutzt wird wenn kein wert angegeben wurde, ist "1000 und somit 1000ms.

    Ich hofe es ist verständlich

    (C) by Jiyan Akgül[/FONT]

  • Mit DLL's arbeiten

    [FONT="Century Gothic"]


    [SIZE="4"].:: Mit DLL's arbeiten ::.[/SIZE]
    [SIZE="4"]___________________[/SIZE]


    AutoIT wurde für die Verwendung von DLL'S auch angepasst.
    Man kann auch Strukturen erstellen, wie die aus C++/C#/etc..

    Code
    // Eine Struktur in C#
    public struct Farben
    {
    public int Rot = 0xFF0000;
    public int Blau = 0x00FF00;
    public int Grün = 0x0000FF;
    }

    Halt nicht so mit den geschweiften Klammern, sondern über eine Funktion und den Inhalt als String.

    Code
    $sFarben =  "int Rot;int Blau;int Grün;"
    $sFarbenStruct = DllStructCreate( $sFarben)


    Damit hätten wir jetzt eine Leere Struct.

    Es gibt noch Funcs mit denen man Daten in Structs eintragen und Auslesen kann und den Pointer einer in AutoIT erstellten Struct ermitteln kann.

    Um eine Dll zu Nutzen kann man sie entweder Manuell öffnen und schließen
    oder das Automatisch erledigen lassen.

    Manuell :

    Code
    $DLL = DllOpen("eBox.dll")
    $eBox = DllCall($DLL,"none","ptr",$eBoxStruct)
    DllClose($DLL)

    Automatisch:

    Code
    $eBox = DllCall("eBox.dll","none","Create","ptr",$eBoxStruct_Ptr)

    In meinem Beispiel seht ihr die Funktion DllCall.
    So wird sie angewendet:

    Code
    DllDatei oder Handle von DllOpen
    Typ des Rückgabewertes - "int" , "char" usw. (wenn keine rückgabe dann "none")
    Funktionsname die aufgerufen werden soll
    Parameter1 Typ (int,char,ptr,usw.)
    Parameter1 Inhalt
    usw...

    Bei meiner Funktion steht noch "$eBoxStruct_Ptr"
    und als Typ "ptr".

    Hier der Code Dazu

    _____

    Wenn aber eine DLL einen Pointer zu einer anderen Struct zurückgibt wo Daten eingetragen sind, muss man eine neue ´Struct definieren und dne Pointer angeben.

    Code
    $DllCall = DllCall("mydll.dll","ptr","ShowInfo","int",1)
    
    
    $StructPointer = $DllCall[0]
    
    
    $s_InfoStruct = "char[] Text; int Type"
    
    
    $InfoStruct = DllCreateStruct($s_InfoStruct, $StructPointer)

    Somit wäre direkt alles in der Struct Ausgefüllt.
    Nun muss man man es nur noch auslesen.

    Code
    $Text = DllStructRead($InfoStruct,1)
    $Type = DllStructRead($InfoStruct,2)


    Schon hat man alles.

    Das ist wirklich einfach.

    (C) by Jiyan Akgül[/FONT]

  • [FONT="Comic Sans MS"][COLOR="SandyBrown"][SIZE="2"]Schickes Tut fange jetzt auch mit autoit an habe mir auch nen kleines programm gebastelt das per parameter ausliest was es zu tun hat also nur mit ping und tracert wenn du magst kann ich dir per pm den code schicken und du dir den mal ansehn und bewerten das tut ist aufjeden fall sehr gut :D Bekommst ein thanks
    Nur die schrift solltest du mal ändern da bekommt man ja kopfschmerzen nach einer zeit ;) nix negatives
    [/SIZE][/COLOR][/FONT]

    [CENTER]Let's Rock this Party!! :mah (chilling):

    [/CENTER]

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!