• Da ich immer wieder Ärger hatte, das die USB-Autostart-Tools (bei mir lief schon ewig der USBAgent) beim Einschalten meines Druckers einen Fehler hervorriefen (da kein Zugriff auf die Speicherkartenslots möglich ist), habe ich mir einen Ersatz programmiert.

    Herausgekommen ist "USB_Autorun".

    Spoiler anzeigen
    [autoit]

    ; USB_Autorun_DriveGetDrive V1.1
    ; von M.Schröder 28.09.2008
    ;
    ; Das Programm wird z.B. per Autostart gestartet und wertet auf
    ; Wechseldatenträgern eine ggf. vorhandene "Autorun.inf" aus und
    ; startet gewünschte Dateien oder Programme beim Hinzufügen und
    ; Entfernen des Datenträgers.
    ;
    ; Eine "Autorun.inf" kann wie folgt aussehen:
    ; [autorun]
    ; icon=icon.ico
    ; open=start.exe
    ; close=stop.exe

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #compiler_icon=USB_Autorun.ico
    #compiler_outfile=USB_Autorun.exe
    #include <array.au3>
    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode",1)
    Opt("MustDeclareVars",1)

    [/autoit] [autoit][/autoit] [autoit]

    Dim $neu, $alt, $start, $stop, $i, $search, $file
    Dim $trayexit, $time, $pid, $StopTimeout = 10000

    [/autoit] [autoit][/autoit] [autoit]

    ; ggf. alte STOP-Dateien löschen
    $search = FileFindFirstFile(@TEMPDIR & "\USBARS_*.*")
    If $search <> -1 Then
    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    FileDelete(@TEMPDIR & "\" & $file)
    Wend
    EndIf
    FileClose($search)

    [/autoit] [autoit][/autoit] [autoit]

    ; Neues Traymenue zum Beenden anlegen
    $trayexit = TrayCreateItem("USB Autorun beenden")
    TrayItemSetOnEvent(-1,"ExitEvent")
    TraySetIcon("USB_Autorun.ico")
    TraySetToolTip ("USB Autorun")
    TraySetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $neu = GetDrives()
    For $i = 1 To $neu[0]
    If _ArraySearch($alt,$neu[$i]) < 1 And DriveStatus($neu[$i]) = "READY" Then
    ; neuer Wechseldatenträger hinzugefügt
    $start = ""
    $stop = ""
    if FileExists($neu[$i] & "\Autorun.inf") then
    $start = IniRead($neu[$i] & "\Autorun.inf","autorun","open","")
    $stop = IniRead($neu[$i] & "\Autorun.inf","autorun","close","")
    EndIf
    If $stop <> "" And FileExists($neu[$i] & "\" & $stop) Then
    FileCopy($neu[$i] & "\" & $stop, @TempDir & "\USBARS_" & StringLeft($neu[$i],1) & StringRight($stop,4))
    EndIf
    If $start <> "" And FileExists($neu[$i] & "\" & $start) Then
    Run($neu[$i] & "\" & $start,"",$neu[$i] & "\")
    EndIf
    EndIf
    Next
    If IsArray($alt) And $alt[0] > 0 Then
    For $i = 1 To $alt[0]
    If _ArraySearch($neu,$alt[$i]) < 1 Then
    ; ein Wechseldatenträger wurde entfernt
    $search = FileFindFirstFile(@TEMPDIR & "\USBARS_" & StringLeft($alt[$i],1) & ".*")
    If $search <> -1 Then
    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    $time = TimerInit()
    $pid = Run(@TEMPDIR & "\" & $file)
    ; wartet auf das Beenden des Programms bzw. bis zum Timeout
    ; und versucht dann die Datei aus dem %TEMP-Ordner zu löschen
    While ProcessExists($pid) And TimerDiff($time) < $StopTimeout
    Sleep(100)
    Wend
    FileDelete(@TEMPDIR & "\" & $file)
    Wend
    EndIf
    FileClose($search)
    EndIf
    Next
    EndIf
    $alt = $neu
    Sleep (1000)
    Wend

    [/autoit] [autoit][/autoit] [autoit]

    Func GetDrives()
    Local $array_Drives
    $array_Drives = drivegetdrive("REMOVABLE")
    If IsArray($array_Drives) Then
    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"a:"))
    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"b:"))
    $array_Drives[0] = UBound($array_Drives) -1
    Else
    Local $array_Drives[1]
    $array_Drives[0] = 0
    EndIf
    Return $array_Drives
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func ExitEvent()
    Exit
    EndFunc

    [/autoit]


    Vorteile:
    - keine Installation, kann von einem eingeschränkten Konto aus dem Autostartordner laufen
    - kein Fehler mehr, wenn im Laufwerk der Datenträger nicht bereit ist
    - kann, wie auch der USBAgent, beim Entfernen eines Laufwerks ein Programm ausführen

    Vielleicht kann es ja jemand gebrauchen...

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (6. Oktober 2008 um 13:18)

  • Hast Du die Datei "autorun.ini" oder korrekterweise "autorun.inf" genannt ?

    ShellExecute habe ich zu Anfang auch genutzt. Nur beim STOP brauche ich die Prozess-ID, um nach dem Ende die Datei zu löschen. Und ShellExecute liefert leider keine ID zurück.

    Micha_he

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • bei windows ist das so ne sache... man kann KEINEN reinen autostart von usb machen, auch nicht mit autorun.inf. es kommt IMMER nur diese eine meldung wo man auswählen kann was man machen will
    habs scho -zig mal ausprobiert...

    • Offizieller Beitrag

    Um dir mal grundsätzlich zu widersprechen:
    Doch, man kann. Und zwar, wenn man einen Teil des Sticks als CD-Partition formatiert und diese mit der autorun.inf ausstattet. So macht es meines Wissens zum Beispiel U3 und Verschlüsselungstools. Das grundsätzlich.

    Abgesehen davon hast du Recht, dass Sticks das nicht unterstützen.
    Ich habe das Skript nicht genau durchgeschaut, aber man kann ja das Skript lokal laufen lassen und damit die autorun.inf parsen, an Windows vorbei, denn ob etwas angesteckt wird oder abgezogen, das bekommt man ja mit.

    peethebee :)

    • Offizieller Beitrag

    bei windows ist das so ne sache... man kann KEINEN reinen autostart von usb machen, auch nicht mit autorun.inf. es kommt IMMER nur diese eine meldung wo man auswählen kann was man machen will
    habs scho -zig mal ausprobiert...

    Die Meldung kannst du auch ausschalten.Arbeitsplatz > Beim Laufwerk rechstsklick > eigenschaften >Tab Autoplay und für alle inhaltstype Durchzuführende Aktion wählen selektieren und "Keine Aktion " auswählen .

    So hab ich des gemacht , weil die Meldung auf den Zeiger ging .

    Gruß Raupi

  • Hier ein beispiel für einen Autostart:

    [Autorun]
    open= [Dateiname]
    ICON=[ICON]
    erase=[ZU LÖSCHENDE DATEI]

    • Offizieller Beitrag

    Micha_he

    Nicht schlecht des Programm.

    Hab aber folgendes festgestellt:

    Das Prog mag es gar nicht wenn beim Programmstart keine Wechseldatenträger vorhanden sind .
    Das Prog hängt sich mit folgendem Hinweis auf : C:\Users\Administrator\Desktop\Usb_Autorun.au3 (99) : ==> Subscript used with non-Array variable.:
    Bei der Exe Datei kommt dann der fehler : Line -1: Error: Subscript used with non-Array Variable.

    Wenn ich dein Script wie folgt ändere funzt es auch ohne Wechseldatenträger beim Start. :rock:

    Spoiler anzeigen
    [autoit]

    Func GetDrives()
    Local $array_Drives
    $array_Drives = DriveGetDrive("REMOVABLE")
    If Not DriveGetDrive("REMOVABLE") = "" Then
    _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "a:"))
    _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "b:"))
    $array_Drives[0] = UBound($array_Drives) - 1
    EndIf
    Return $array_Drives
    EndFunc ;==>GetDrives

    [/autoit]

    Gruß Raupi

    Edit:
    Hab noch ein kleines Script zum erstellen der Autorun.inf erstellt

    Spoiler anzeigen
    [autoit]

    Local $Var,$Var1,$Var2,$var3
    Local $Icon,$Open,$Close

    [/autoit] [autoit][/autoit] [autoit]

    $var = FileSelectFolder("Wechseldatenträger für Autorun.inf auswählen ", "")
    $var1 = FileOpenDialog("Autorun icon auswählen ", $Var, "Bilder (*.ico)", 1 + 4 )
    $var2 = FileOpenDialog("Autorun open auswählen ", $Var, "Bilder (*.exe)", 1 + 4 )
    $var3 = FileOpenDialog("Autorun close auswählen ", $Var, "Bilder (*.exe)", 1 + 4 )
    $Icon = Stringsplit ($var1,"\")
    $Open = Stringsplit ($var2,"\")
    $Close = Stringsplit ($var3,"\")
    IniWrite("N:\autorun.inf", "autorun", "icon", $Icon[2])
    IniWrite("N:\autorun.inf", "autorun" , "open", $Open[2])
    IniWrite("N:\autorun.inf", "autorun", "close", $Close[2]

    [/autoit]
  • Raupi : Danke für den Hinweis, werde das Originalscript im ersten Beitrag auf deine Fehlermeldung hin, nochmal anpassen.
    > Script soeben im ersten Beitrag korrigiert, so das das Fehler aller Wechseldatenträger nicht mehr zum Fehler führt.

    Das Script zum Erzeugen der "Autorun.inf" ist aber nicht ganz korrekt. Es fragt zwar das Ziellaufwerk ab, verwendet dann aber immer das Laufwerk "N:\".

    Hier eine korrigierte Version

    Spoiler anzeigen
    [autoit]

    Local $Var,$Var1,$Var2,$var3
    Local $Icon,$Open,$Close

    [/autoit] [autoit][/autoit] [autoit]

    $var = FileSelectFolder("Wechseldatenträger für Autorun.inf auswählen ", "")
    $var1 = FileOpenDialog("Autorun icon auswählen ", $Var, "Bilder (*.ico)", 1 + 4 )
    $var2 = FileOpenDialog("Autorun open auswählen ", $Var, "Bilder (*.exe)", 1 + 4 )
    $var3 = FileOpenDialog("Autorun close auswählen ", $Var, "Bilder (*.exe)", 1 + 4 )
    $Icon = Stringsplit ($var1,"\")
    $Open = Stringsplit ($var2,"\")
    $Close = Stringsplit ($var3,"\")
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun", "icon", $Icon[2])
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun" , "open", $Open[2])
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun", "close", $Close[2])

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    4 Mal editiert, zuletzt von Micha_he (6. Oktober 2008 um 13:23)

  • Ich habe das Tool zum Erzeugen der "Autorun.inf" um einige Fehlerabfragen erweitert. Das einzige was ich noch nicht gefunden habe ist eine Möglichkeit, das der User beim ersten Dialog nur die Laufwerke und keine Unterordner wählen kann.

    Hier die erweiterte Version:

    Spoiler anzeigen
    [autoit]

    Local $Var,$Var1,$Var2,$var3
    Local $Icon,$Open,$Close

    [/autoit] [autoit][/autoit] [autoit]

    $var = FileSelectFolder("Wechseldatenträger für Autorun.inf auswählen ", "")
    If $var <> "" Then
    $var1 = FileOpenDialog("Autorun icon auswählen ", $Var, "Icons (*.ico)", 1 + 4 )
    $var2 = FileOpenDialog("Autorun open auswählen ", $Var, "Ausführbares (*.exe;*.bat;*.cmd)", 1 + 4 )
    $var3 = FileOpenDialog("Autorun close auswählen ", $Var, "Ausführbares (*.exe;*.bat;*.cmd)", 1 + 4 )
    If $var1 <> "" Then
    $Icon = Stringsplit ($var1,"\")
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun", "icon", $Icon[2])
    Else
    IniDelete(StringLeft($var,2) & "\autorun.inf", "autorun", "icon")
    EndIf
    If $var2 <> "" Then
    $Open = Stringsplit ($var2,"\")
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun" , "open", $Open[2])
    Else
    IniDelete(StringLeft($var,2) & "\autorun.inf", "autorun" , "open")
    EndIf
    If $var3 <> "" Then
    $Close = Stringsplit ($var3,"\")
    IniWrite(StringLeft($var,2) & "\autorun.inf", "autorun", "close", $Close[2])
    Else
    IniDelete(StringLeft($var,2) & "\autorun.inf", "autorun", "close")
    EndIf
    EndIf

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    Einmal editiert, zuletzt von Micha_he (6. Oktober 2008 um 20:37)

    • Offizieller Beitrag

    Ich denke ein bischen Grips anstrengen bei der Laufwerksauswahl ist net falsch. Wer des Tool kennt kann sich ja denken das er nur en Laufwerk auswählen soll . ;) .
    Hab bei deinem USB_Autorun Script ne Menge gelernt. Ich hab es total auseinandergenommen weil ich en Bissele blöd bin. Hatte die Autorun.Inf mit dem Notepad falsch abgespeichert zwar unter Autorun.inf aber als Textdatei also Autorun.inf.txt :cursing: .So ist des net gelaufen und hab es aber auch net kapiert.Du hast natürlich recht mit dem Fehler in meinem Script. Erwähnte ich schon das ich en bissle Blöd bin ? 8| Beim Makieren und Kopeiren hab ich des falsche script kopiert .

  • Zitat

    Ich denke ein bischen Grips anstrengen bei der Laufwerksauswahl ist net falsch. Wer des Tool kennt kann sich ja denken das er nur en Laufwerk auswählen soll . ;) .


    Raupi Denke mal an U3 Sticks .... die emulieren noch ein CD Laufwerk, also benötigen die 2 Laufwerksbuchstaben.

    MfG
    Der_Doc

    • Offizieller Beitrag

    U3 Stick hab ich net. Hab ich wieder was gelernt ;) . Aber mal ehrlich wer sich mit U3 auskennt ,weiß des das es als 2 Laufwerke angezeigt wird. Ursprünglich habe ich das Script zum erstellen der INI nur gebaut weil ich zu blöd war die Autorun.inf richtig abzuspeichern :love: shame on me .

    Gruß Raupi

    • Offizieller Beitrag

    Micha_he

    Deine Function

    Spoiler anzeigen
    [autoit]

    Func GetDrives()
    Local $array_Drives
    $array_Drives = drivegetdrive("REMOVABLE")
    If IsArray($array_Drives) Then
    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"a:"))
    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"b:"))
    $array_Drives[0] = UBound($array_Drives) -1
    Else
    Local $array_Drives[1]
    $array_Drives[0] = 0
    EndIf
    Return $array_Drives
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    hat immer noch einen Fehler. Wenn du keinen USB-Stick eingesteckt hast, aber Laufwerk A: oder Laufwerk B: vorhanden ist wird

    [autoit]

    UBound($array_Drives) -1

    [/autoit]


    dir einen Wert von-1 errechnen und somit dein Script mit einem Fehler ins Datennirvana schicken .

    Gruß Raupi

    Edit: Die Folgenden Zeilen löschen dein $array_Drives[0] wenn die entsprechenden Laufwerke nicht vorhanden sind .

    [autoit]

    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"a:"))
    _ArrayDelete($array_Drives,_ArraySearch($array_Drives,"b:"))

    [/autoit]

    Das Resultat ist dein $array_Drives[1] wid zu $array_Drives[0] und somit mit $array_Drives[0] = UBound($array_Drives) -1 wird dein 1. Wechselmedium mit der Anzahl überschrieben X(

    Hab glaub ich die Erklärung für den letzten Fehler. Angenommen du hast Kein Laufwerk B: dann ergibt

    [autoit]

    ,_ArraySearch($array_Drives,"b:"))

    [/autoit]


    einen Wert von -1 und

    [autoit]

    , _ArrayDelete($array_Drives,-1)

    [/autoit]


    löscht dein $array_Drives[0]. Warum das so ist weiß ich net , weil in der Hilfe bei _ArrayDelete der Wert -1 nicht erklärt wird .
    Hab ich jetzt nen neuen Parameter gefunden ? Bekomm ich dafür nen Preis ? 8)


    Edit : Habe die Fehlerhafte Lösung entfernt. Neue Lösung siehe next Post

  • Ich denke ein bischen Grips anstrengen bei der Laufwerksauswahl ist net falsch. Wer des Tool kennt kann sich ja denken das er nur ein Laufwerk auswählen soll . ;) .

    Ich liebe es aber, wenn ein Script 99,9% ist. Und wenn ich das "Autorun.inf-Erzeugungsscript" benutze und am Anfang einen Unterordner eines Laufwerks öffne, wird dieser in die Variable gelesen und anschließen für die nächsten Filedialoge benutzt. Der User steht also bei allen drei Datei-Auswahlen in dem vorher gewählen Laufwerks-Unterordner.
    Für die Funktion tut das ja keinen Abbruch, weil ich sowieso nur die linken 2 Zeichen verwende, nur schön ist es nicht. Der User muss halt immer wieder die Ordner rückwärts klicken.

    Das mit dem ArraySerach und ArrayDelete muss ich mir nochmal näher ansehen, wenn ich etwas mehr Zeit habe.

    micha_he

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    • Offizieller Beitrag

    Da simme ich dir zu . Bei meiner Lösung des Scriptproblemes hat sich auch ein Denkfehler eingeschlichen . Die folgende Lösung wäre Richtig

    Spoiler anzeigen
    [autoit]

    Func GetDrives()
    Local $array_Drives
    $array_Drives = DriveGetDrive("REMOVABLE")
    If IsArray($array_Drives) Then
    If _ArraySearch($array_Drives, "a:") <> -1 Then _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "a:"))
    If _ArraySearch($array_Drives, "b:") <> -1 Then _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "b:"))
    $array_Drives[0] = UBound($array_Drives) - 1
    Else
    Local $array_Drives[1]
    $array_Drives[0] = 0
    EndIf
    Return $array_Drives
    EndFunc ;==>GetDrives

    [/autoit]

    Edit : Autorun.inf-Erzeugungsscript neue Version

    Spoiler anzeigen
    [autoit]

    #include <array.au3>
    Global $Var, $Var1, $Var2, $var3
    Global $Icon, $Open, $Close
    Global $array_Drives, $Removal

    [/autoit] [autoit][/autoit] [autoit]

    $Removal = GetDrives()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $Var = FileSelectFolder("Wechseldatenträger für Autorun.inf auswählen ", "")
    If _ArraySearch($Removal, StringLower(StringLeft($Var, 2))) <> -1 And StringLen($Var) <= 3 Then
    ExitLoop
    ElseIf _ArraySearch($Removal, StringLower(StringLeft($Var, 2))) <> -1 And StringLen($Var) > 3 Then
    If MsgBox(53, "Fehler", "Bitte nur Hauptverzeichnis auswählen") = 2 Then Exit
    ElseIf StringLower(StringLeft($Var, 2)) = "a:" Or StringLower(StringLeft($Var, 2)) = "b:" Then
    If MsgBox(53, "Fehler", "Diskettenlaufwerke werden nicht unterstützt") = 2 Then Exit
    Else
    If MsgBox(53, "Fehler", "Es wurde kein Wechseldatenträger ausgewählt") = 2 Then Exit
    EndIf
    WEnd
    If $Var <> "" Then
    $Var1 = FileOpenDialog("Autorun icon auswählen ", $Var, "Icons (*.ico)", 1 + 4)
    $Var2 = FileOpenDialog("Autorun open auswählen ", $Var, "Ausführbares (*.exe;*.bat;*.cmd)", 1 + 4)
    $var3 = FileOpenDialog("Autorun close auswählen ", $Var, "Ausführbares (*.exe;*.bat;*.cmd)", 1 + 4)
    If $Var1 <> "" Then
    $Icon = StringSplit($Var1, "\")
    IniWrite(StringLeft($Var, 2) & "\autorun.inf", "autorun", "icon", $Icon[2])
    Else
    IniDelete(StringLeft($Var, 2) & "\autorun.inf", "autorun", "icon")
    EndIf
    If $Var2 <> "" Then
    $Open = StringSplit($Var2, "\")
    IniWrite(StringLeft($Var, 2) & "\autorun.inf", "autorun", "open", $Open[2])
    Else
    IniDelete(StringLeft($Var, 2) & "\autorun.inf", "autorun", "open")
    EndIf
    If $var3 <> "" Then
    $Close = StringSplit($var3, "\")
    IniWrite(StringLeft($Var, 2) & "\autorun.inf", "autorun", "close", $Close[2])
    Else
    IniDelete(StringLeft($Var, 2) & "\autorun.inf", "autorun", "close")
    EndIf
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func GetDrives()
    Local $array_Drives
    $array_Drives = DriveGetDrive("REMOVABLE")
    If IsArray($array_Drives) Then
    If _ArraySearch($array_Drives, "a:") <> -1 Then _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "a:"))
    If _ArraySearch($array_Drives, "b:") <> -1 Then _ArrayDelete($array_Drives, _ArraySearch($array_Drives, "b:"))
    $array_Drives[0] = UBound($array_Drives) - 1
    Else

    MsgBox(48, "Fehler", "Es wurden keine verwendbaren Wechseldatenträger gefunden ")
    $array_Drives[0] = 0
    EndIf
    If $array_Drives[0] = 0 Then
    MsgBox(48, "Fehler", "Es wurden keine verwendbaren Wechseldatenträger gefunden ")
    Exit
    EndIf
    Return $array_Drives
    EndFunc ;==>GetDrives

    [/autoit]

    Schau mal ob des dir so Besser gefällt Micha_he