Installations-Menü

  • Mit dem Durchlaufen sollte man vorsichtig sein.
    Das sollte man nur dann so anwenden wenn man sich absolut sicher ist das die Control-ID´s durchgängig nummeriert sind.
    Das hängt in der Regel mit dem Erstellzeitpunkt zusammen.
    Hier z.B. ist es nämlich eben nicht so:
    Die For-Schleife wird von Checkbox1 bis Checkbox31 durchlaufen - damit werden alle Controls erfasst welche zwischen Checkbox1 und Checkbox31 erstellt wurden.
    Das heißt aber das auch die ganzen Buttons wie "PC-Info" usw. den $GUI_UNCHECKED-State aufgedrückt bekommen - das macht hier zwar nichts aus da dieser State auf Button-Controls keine Wirkung hat aber mancher könnte sich an anderer Stelle wundern wenn er dazwischen andere Controls eingesetzt hat.
    Besser wäre es hier wohl die Control-ID´s der Checkboxen in ein separates Array zu schreiben und dieses dann zu durchlaufen.

  • Und was ist mit Eval?
    Mein Code: (nicht getestet, nur mit Hilfe zusammengeschrieben):

    [autoit]

    Case $Button6
    For $i = 1 To 31
    GUICtrlSetState(Eval("Checkbox" & $i), $GUI_UNCHECKED)
    Next

    [/autoit]


    Edit: Fehler behoben

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    2 Mal editiert, zuletzt von Fast2 (5. Januar 2008 um 12:16)

  • Wenn dann schon eher so sonst bleibt das Problem weiterhin bestehen das andere Controls mit erwischt werden:

    [autoit]

    For $i = 1 To 31
    GUICtrlSetState(Eval("Checkbox" & $i), $GUI_UNCHECKED)
    Next

    [/autoit]

    BugFix
    Stimmt schon mit der (unbegründeten...) Array-Angst.
    Hab das halt eingeworfen weil ich denke das man damit als Anfänger schnell auf eine falsche Fährte (wird das Wort so geschrieben?) geführt wird.
    Man könnte sich halt schnell denken: oh die Checkboxen sind ja von 1-31 durchnummeriert und die For-Schleife weiß halt das ich da alle will und geht automatisch durch...
    Ich denke wenn man sowas macht dann könnte man ja noch den Hintergrund dazuschreiben warum das gerade in dem Fall funktioniert.
    Sonst könnte wie hier der Eindruck entstehen das funktioniert weil die Variablennamen durchnummeriert sind - was ja aber damit bekanntlich nichts zu tun hat.
    Na egal - ich schreib eh immer zuviel... ;)

    Edit:
    Nun hab ich auch gepostet ohne zu erklären warum.
    Also versuch ich´s doch nochmal zu erklären warum dabei andere Controls mit erwischt werden.
    Die Control-ID ist eine Zahl welche ein Control eines Fensters identifizieren.
    In der Regel werden sie nach dem Erstellzeitpunkt durchnummeriert.
    Also das erste Control was erstellt wird bekommt die 3, das nächste dann die 4, dann die 5 usw.
    Dieser Wert steckt in der jeweiligen Variable wie hier z.B. $Checkbox8 oder ähnliche.
    Nun bastelt man eine For-Schleife die so aussieht:

    [autoit]

    For $i = $Checkbox1 To $Checkbox31

    [/autoit]

    Das heißt nichts anderes als:
    Belege die Variable $i mit der Control-ID von Checkbox1 als Startwert und lass es bis zur Control-ID von Checkbox31 durchlaufen.
    Das $i wird dann als Control-ID für die GUICtrlSetState-Funktion eingesetzt.
    In unserem Beispiel könnte man dafür auch einfach folgendes schreiben:

    [autoit]

    For $i = 4 To 40

    [/autoit]

    Weil $Checkbox 1 den Wert 4 besitzt und zwischen $Checkbox1 und $Checkbox31 35 Controls erstellt werden - die 29 anderen Checkboxen und die 6 Buttons welche alle die durchnummerierten Control-ID´s erhalten.
    Aus diesem Grund erwischt es mit dieser Methode auch die Buttons.

    2 Mal editiert, zuletzt von AspirinJunkie (4. Januar 2008 um 00:50)

  • peethebee

    ICh ging die ganze Zeit davon aus, das er das Thema IOM 3.0 bereits gelesen hat. Für mich eine super Sache !!!

    IOM 3.0 ist wirklich hier etwas aus der Sicht vieler User gerutscht, oder?

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi,

    Hab wieder ein Prob. und zwar kann ich auch SFX einbinden ? Wartet er dann todzdem ? Er wartet eig. nicht bis die vorherhige install fertig ist. Keine Ahnung ob SFX oder Au3.

    Hier ma der Code :


    [autoit]

    #include

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

    TrayTip("Software Installer", "© by racemike und [KdD]Wolf", 20)
    #Region Koda
    $Form1 = GUICreate("SI - Software Installer", 500, 322, 192, 120)
    $Button1 = GUICtrlCreateButton("Mutlimedia", 40, 16, 65, 17, 0)
    $Button2 = GUICtrlCreateButton("Brennen", 128, 16, 65, 17, 0)
    GUICtrlSetState($Button1, $GUI_Disable)
    $Button3 = GUICtrlCreateButton("Office", 216, 16, 65, 17, 0)
    GUICtrlSetState($Button1, $GUI_Disable)
    $Button4 = GUICtrlCreateButton("System", 304, 16, 65, 17, 0)
    GUICtrlSetState($Button1, $GUI_Disable)
    $Button5 = GUICtrlCreateButton("Security", 392, 16, 65, 17, 0)
    GUICtrlSetState($Button1, $GUI_Disable)
    $Button6 = GUICtrlCreateButton("Installieren", 392, 88, 65, 17, 0)
    $Button7 = GUICtrlCreateButton("Alle", 392, 120, 65, 17, 0)
    $Button8 = GUICtrlCreateButton("Keine", 392, 152, 65, 17, 0)
    $Button9 = GUICtrlCreateButton("Beenden", 392, 184, 65, 17, 0)
    $Checkbox1 = GUICtrlCreateCheckbox("Neustart", 392, 56, 65, 17)
    #region multimedia
    $Checkbox2 = GUICtrlCreateCheckbox("Cabos", 24, 56, 170, 17)

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

    $Checkbox3 = GUICtrlCreateCheckbox("FileZilla Server", 24, 88, 170, 17)

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

    $Checkbox4 = GUICtrlCreateCheckbox("FlashGet", 24, 120, 170, 17)

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

    $Checkbox5 = GUICtrlCreateCheckbox("foobar2000", 24, 152, 170, 17)

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

    $Checkbox6 = GUICtrlCreateCheckbox("FunnyVoice", 24, 184, 170, 17)

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

    $Checkbox7 = GUICtrlCreateCheckbox("The GIMP 2", 24, 216, 170, 17)

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

    $Checkbox8 = GUICtrlCreateCheckbox("GoogleEarth", 24, 248, 170, 17)
    $Checkbox9 = GUICtrlCreateCheckbox("IrfanView", 24, 280, 170, 17)
    $Checkbox10 = GUICtrlCreateCheckbox("K-Lite Mega Codec Pack", 208, 56, 170, 17)
    $Checkbox11 = GUICtrlCreateCheckbox("Paint.NET.3.20", 208, 88, 170, 17)
    $Checkbox12 = GUICtrlCreateCheckbox("Pinnacle Studio 11 Plus", 208, 120, 170, 17)
    $Checkbox13 = GUICtrlCreateCheckbox("QIP", 208, 152, 170, 17)
    $Checkbox14 = GUICtrlCreateCheckbox("Skype", 208, 184, 170, 17)
    $Checkbox15 = GUICtrlCreateCheckbox("µTorrent", 208, 216, 170, 17)
    $Checkbox16 = GUICtrlCreateCheckbox("VirtualDub", 208, 248, 170, 17)
    $Checkbox17 = GUICtrlCreateCheckbox("VLC Media Player", 208, 280, 170, 17)
    #endregion multimedia
    #region brennen
    $Checkbox18 = GUICtrlCreateCheckbox("Alcohol120%", 24, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox19 = GUICtrlCreateCheckbox("DAEMON Tools Lite", 24, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox20 = GUICtrlCreateCheckbox("GameJack", 24, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox21 = GUICtrlCreateCheckbox("Nero 8 Lite", 24, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox22 = GUICtrlCreateCheckbox("Nero 8 Micro", 24, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox23 = GUICtrlCreateCheckbox("Power2Go", 24, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox24 = GUICtrlCreateCheckbox("Slysoft AnyDVD", 24, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox25 = GUICtrlCreateCheckbox("Slysoft CloneCD", 24, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox26 = GUICtrlCreateCheckbox("Slysoft CloneDVD", 208, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox27 = GUICtrlCreateCheckbox("", 208, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox28 = GUICtrlCreateCheckbox("", 208, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox29 = GUICtrlCreateCheckbox("", 208, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox30 = GUICtrlCreateCheckbox("", 208, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox31 = GUICtrlCreateCheckbox("", 208, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox32 = GUICtrlCreateCheckbox("", 208, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox33 = GUICtrlCreateCheckbox("", 208, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    #endregion brennen
    #region office
    $Checkbox34 = GUICtrlCreateCheckbox("Adobe Dreamweaver CS3", 24, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox35 = GUICtrlCreateCheckbox("Adobe Flash CS3", 24, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox36 = GUICtrlCreateCheckbox("Adobe Photoshop CS3", 24, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox37 = GUICtrlCreateCheckbox("Adobe Reader 8.1", 24, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox38 = GUICtrlCreateCheckbox("AutoIt V3", 24, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox39 = GUICtrlCreateCheckbox("KeePass Password Safe", 24, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox40 = GUICtrlCreateCheckbox("Koda", 24, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox41 = GUICtrlCreateCheckbox("Microsoft Office 2003", 24, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox42 = GUICtrlCreateCheckbox("Microsoft Visual Basic", 208, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox43 = GUICtrlCreateCheckbox("Mozilla Firefox 2.0.0.11", 208, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox44 = GUICtrlCreateCheckbox("Nvu", 208, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox45 = GUICtrlCreateCheckbox("OpenOffice", 208, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox46 = GUICtrlCreateCheckbox("Opera", 208, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox47 = GUICtrlCreateCheckbox("Orbit Downloader", 208, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox48 = GUICtrlCreateCheckbox("PSPad", 208, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox49 = GUICtrlCreateCheckbox("SciTe", 208, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    #endregion office
    #region system
    $Checkbox50 = GUICtrlCreateCheckbox("Acronis True Image 11", 24, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox51 = GUICtrlCreateCheckbox("ATI Tray Tools", 24, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox52 = GUICtrlCreateCheckbox("CCleaner", 24, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox53 = GUICtrlCreateCheckbox("Flash-Player", 24, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox54 = GUICtrlCreateCheckbox("IP-resett", 24, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox55 = GUICtrlCreateCheckbox("Java", 24, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox56 = GUICtrlCreateCheckbox(".NET Framework", 24, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox57 = GUICtrlCreateCheckbox("nlite", 24, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox58 = GUICtrlCreateCheckbox("Shokwave-Player", 208, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox59 = GUICtrlCreateCheckbox("SiSoft Sandra Lite", 208, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox60 = GUICtrlCreateCheckbox("TuneUP Uilities 2008", 208, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox61 = GUICtrlCreateCheckbox("UpdateChecker", 208, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox62 = GUICtrlCreateCheckbox("VirtualBox", 208, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox63 = GUICtrlCreateCheckbox("WinRAR", 208, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox64 = GUICtrlCreateCheckbox("WireShark", 208, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox65 = GUICtrlCreateCheckbox("", 208, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    #endregion system
    #region securtiy
    $Checkbox66 = GUICtrlCreateCheckbox("Avast Professional 4.7", 24, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox67 = GUICtrlCreateCheckbox("Ghost Platinum 2005", 24, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox68 = GUICtrlCreateCheckbox("Kaspersky Internet Security 7.0", 24, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Disable)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox79 = GUICtrlCreateCheckbox("Spybot S&D", 24, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox71 = GUICtrlCreateCheckbox("Steganos Safe One", 24, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox72 = GUICtrlCreateCheckbox("TrueCrypt", 24, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox73 = GUICtrlCreateCheckbox("xpy", 24, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox74 = GUICtrlCreateCheckbox("ZoneAlarm Pro", 24, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox75 = GUICtrlCreateCheckbox("", 208, 56, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox76 = GUICtrlCreateCheckbox("", 208, 88, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox77 = GUICtrlCreateCheckbox("", 208, 120, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox78 = GUICtrlCreateCheckbox("", 208, 152, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox79 = GUICtrlCreateCheckbox("", 208, 184, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox80 = GUICtrlCreateCheckbox("", 208, 216, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox81 = GUICtrlCreateCheckbox("", 208, 248, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    $Checkbox82 = GUICtrlCreateCheckbox("", 208, 280, 170, 17)
    GUICtrlSetState(-1, $GUI_Hide)
    #endregion securtiy
    GUISetState(@SW_SHOW)
    #EndRegion Koda

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

    $wert = 225
    WinSetTrans($Form1, "", $wert)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1

    GUICtrlSetState($Button3, $GUI_Enable)
    GUICtrlSetState($Button1, $GUI_Disable)
    GUICtrlSetState($Button2, $GUI_Enable)
    GUICtrlSetState($Button4, $GUI_Enable)
    GUICtrlSetState($Button5, $GUI_Enable)
    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i1 = $Checkbox2 To $Checkbox17
    GUICtrlSetState($i1, $GUI_SHOW)
    Next
    Case $Button2

    GUICtrlSetState($Button3, $GUI_Enable)
    GUICtrlSetState($Button2, $GUI_Disable)
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button4, $GUI_Enable)
    GUICtrlSetState($Button5, $GUI_Enable)

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

    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i1 = $Checkbox18 To $Checkbox26
    GUICtrlSetState($i1, $GUI_SHOW)
    Next
    Case $Button3

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

    GUICtrlSetState($Button2, $GUI_Enable)
    GUICtrlSetState($Button3, $GUI_Disable)
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button4, $GUI_Enable)
    GUICtrlSetState($Button5, $GUI_Enable)

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

    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i1 = $Checkbox34 To $Checkbox48
    GUICtrlSetState($i1, $GUI_SHOW)
    Next
    Case $Button4

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

    GUICtrlSetState($Button2, $GUI_Enable)
    GUICtrlSetState($Button4, $GUI_Disable)
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button3, $GUI_Enable)
    GUICtrlSetState($Button5, $GUI_Enable)

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

    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i1 = $Checkbox50 To $Checkbox64
    GUICtrlSetState($i1, $GUI_SHOW)
    Next
    Case $Button5

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

    GUICtrlSetState($Button2, $GUI_Enable)
    GUICtrlSetState($Button5, $GUI_Disable)
    GUICtrlSetState($Button1, $GUI_Enable)
    GUICtrlSetState($Button3, $GUI_Enable)
    GUICtrlSetState($Button4, $GUI_Enable)

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

    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Hide)
    Next
    For $i1 = $Checkbox66 To $Checkbox74
    GUICtrlSetState($i1, $GUI_SHOW)
    Next
    Case $Button6

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

    If GUICtrlRead($Checkbox2) = 1 Then RunWait("Beispiel")
    If GUICtrlRead($Checkbox1) = 1 Then Shutdown(2)

    Case $Button7
    For $i = $Checkbox2 To $Checkbox82
    GUICtrlSetState($i, $GUI_Checked)
    Next
    Case $Button8
    For $i = $Checkbox1 To $Checkbox82
    GUICtrlSetState($i, $GUI_Unchecked)
    Next
    Case $Button9
    Exit
    EndSwitch
    WEnd

    [/autoit]

    Und hab hier noch ein Archiv von autoit hinzugefügt. Hier was ist daran falsch, denn es wird alle gleichzeitig gestartet.

    Danke schon mal !


    greetings :) </GUIConstants.au3> mike

  • Hallo,
    ich habe das Script von racemike etwas umgändert.
    Es sieht dann so aus:

    Spoiler anzeigen


    #include <GUIConstants.au3>

    #Region ### START Koda GUI section ###

    $Form1 = GUICreate("Software Installer © by racemike und [KdD]Wolf", 655, 404, -1, -1)

    $Label1 = GUICtrlCreateLabel("Bitte wählen Sie die zu Installierende Software aus.", 205, 16, 244, 17)

    $Checkbox1 = GUICtrlCreateCheckbox("Programm 1", 25, 58, 125, 25)
    $Checkbox2 = GUICtrlCreateCheckbox("Programm 2", 185, 58, 125, 25)
    $Checkbox3 = GUICtrlCreateCheckbox("Programm 3", 345, 58, 125, 25)
    $Checkbox4 = GUICtrlCreateCheckbox("Programm 4", 505, 58, 125, 25)

    $Checkbox5 = GUICtrlCreateCheckbox("Programm 5", 25, 90, 125, 25)
    $Checkbox6 = GUICtrlCreateCheckbox("Programm 6", 185, 90, 125, 25)
    $Checkbox7 = GUICtrlCreateCheckbox("Programm 7", 345, 90, 125, 25)
    $Checkbox8 = GUICtrlCreateCheckbox("Programm 8", 505, 90, 125, 25)

    $Checkbox9 = GUICtrlCreateCheckbox("Programm 9", 25, 122, 125, 25)
    $Checkbox10 = GUICtrlCreateCheckbox("Programm 10", 185, 122, 125, 25)
    $Checkbox11 = GUICtrlCreateCheckbox("Programm 11", 345, 122, 125, 25)
    $Checkbox12 = GUICtrlCreateCheckbox("Programm 12", 505, 122, 125, 25)

    $Checkbox13 = GUICtrlCreateCheckbox("Programm 13", 25, 154, 125, 25)
    $Checkbox14 = GUICtrlCreateCheckbox("Programm 14", 185, 154, 125, 25)
    $Checkbox15 = GUICtrlCreateCheckbox("Programm 15", 345, 154, 125, 25)
    $Checkbox16 = GUICtrlCreateCheckbox("Programm 16", 505, 154, 125, 25)

    $Checkbox17 = GUICtrlCreateCheckbox("Programm 17", 25, 186, 125, 25)
    $Checkbox18 = GUICtrlCreateCheckbox("Programm 18", 185, 186, 125, 25)
    $Checkbox19 = GUICtrlCreateCheckbox("Programm 19", 345, 186, 125, 25)
    $Checkbox20 = GUICtrlCreateCheckbox("Programm 20", 505, 186, 125, 25)

    $Checkbox21 = GUICtrlCreateCheckbox("Programm 21", 25, 218, 125, 25)
    $Checkbox22 = GUICtrlCreateCheckbox("Programm 21", 185, 218, 125, 25)
    $Checkbox23 = GUICtrlCreateCheckbox("Programm 23", 345, 218, 125, 25)
    $Checkbox24 = GUICtrlCreateCheckbox("Programm 24", 505, 218, 125, 25)

    $Checkbox25 = GUICtrlCreateCheckbox("Programm 25", 25, 250, 125, 25)
    $Checkbox26 = GUICtrlCreateCheckbox("Programm 26", 185, 250, 125, 25)
    $Checkbox27 = GUICtrlCreateCheckbox("Programm 27", 345, 250, 125, 25)
    $Checkbox28 = GUICtrlCreateCheckbox("Programm 28", 505, 250, 125, 25)

    $Checkbox29 = GUICtrlCreateCheckbox("Programm 29", 25, 282, 125, 25)
    $Checkbox30 = GUICtrlCreateCheckbox("Programm 30", 185, 282, 125, 25)

    $Checkbox31 = GUICtrlCreateCheckbox("Neustart", 25, 314, 125, 25)

    $Button1 = GUICtrlCreateButton("Alle", 102, 371, 57, 17, 0)
    $Button2 = GUICtrlCreateButton("Keine", 233, 371, 57, 17, 0)
    $Button3 = GUICtrlCreateButton("Installieren", 364, 371, 57, 17, 0)
    $Button4 = GUICtrlCreateButton("Beenden", 495, 371, 57, 17, 0)

    GUISetState(@SW_SHOW)

    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $Button1
    GUICtrlSetState($Checkbox1,$GUI_CHECKED)
    GUICtrlSetState($Checkbox2,$GUI_CHECKED)
    GUICtrlSetState($Checkbox3,$GUI_CHECKED)
    GUICtrlSetState($Checkbox4,$GUI_CHECKED)
    GUICtrlSetState($Checkbox5,$GUI_CHECKED)
    GUICtrlSetState($Checkbox6,$GUI_CHECKED)
    GUICtrlSetState($Checkbox7,$GUI_CHECKED)
    GUICtrlSetState($Checkbox8,$GUI_CHECKED)
    GUICtrlSetState($Checkbox9,$GUI_CHECKED)
    GUICtrlSetState($Checkbox10,$GUI_CHECKED)
    GUICtrlSetState($Checkbox11,$GUI_CHECKED)
    GUICtrlSetState($Checkbox12,$GUI_CHECKED)
    GUICtrlSetState($Checkbox13,$GUI_CHECKED)
    GUICtrlSetState($Checkbox14,$GUI_CHECKED)
    GUICtrlSetState($Checkbox15,$GUI_CHECKED)
    GUICtrlSetState($Checkbox16,$GUI_CHECKED)
    GUICtrlSetState($Checkbox17,$GUI_CHECKED)
    GUICtrlSetState($Checkbox18,$GUI_CHECKED)
    GUICtrlSetState($Checkbox19,$GUI_CHECKED)
    GUICtrlSetState($Checkbox20,$GUI_CHECKED)
    GUICtrlSetState($Checkbox21,$GUI_CHECKED)
    GUICtrlSetState($Checkbox22,$GUI_CHECKED)
    GUICtrlSetState($Checkbox23,$GUI_CHECKED)
    GUICtrlSetState($Checkbox24,$GUI_CHECKED)
    GUICtrlSetState($Checkbox25,$GUI_CHECKED)
    GUICtrlSetState($Checkbox26,$GUI_CHECKED)
    GUICtrlSetState($Checkbox27,$GUI_CHECKED)
    GUICtrlSetState($Checkbox28,$GUI_CHECKED)
    GUICtrlSetState($Checkbox29,$GUI_CHECKED)
    GUICtrlSetState($Checkbox30,$GUI_CHECKED)

    Case $Button2
    GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox3,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox4,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox5,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox6,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox7,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox8,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox9,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox10,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox11,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox12,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox13,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox14,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox15,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox16,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox17,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox18,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox19,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox20,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox21,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox22,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox23,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox24,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox25,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox26,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox27,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox28,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox29,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox30,$GUI_UNCHECKED)
    GUICtrlSetState($Checkbox31,$GUI_UNCHECKED)

    case $Button3
    If GUICtrlRead($Checkbox1)= $GUI_CHECKED then RunWait("Programm 1.EXE")
    If GUICtrlRead($Checkbox2)= $GUI_CHECKED then RunWait("Programm 2. EXE")
    If GUICtrlRead($Checkbox3)= $GUI_CHECKED then RunWait("Programm 3. EXE")
    If GUICtrlRead($Checkbox4)= $GUI_CHECKED then RunWait("Programm 4. EXE")
    If GUICtrlRead($Checkbox5)= $GUI_CHECKED then RunWait("Programm 5. EXE")
    If GUICtrlRead($Checkbox6)= $GUI_CHECKED then RunWait("Programm 6. EXE")
    If GUICtrlRead($Checkbox7)= $GUI_CHECKED then RunWait("Programm 7. EXE")
    If GUICtrlRead($Checkbox8)= $GUI_CHECKED then RunWait("Programm 8. EXE")
    If GUICtrlRead($Checkbox9)= $GUI_CHECKED then RunWait("Programm 9. EXE")
    If GUICtrlRead($Checkbox10)= $GUI_CHECKED then RunWait("Programm 10. EXE")
    If GUICtrlRead($Checkbox11)= $GUI_CHECKED then RunWait("Programm 11. EXE")
    If GUICtrlRead($Checkbox12)= $GUI_CHECKED then RunWait("Programm 12. EXE")
    If GUICtrlRead($Checkbox13)= $GUI_CHECKED then RunWait("Programm 13. EXE")
    If GUICtrlRead($Checkbox14)= $GUI_CHECKED then RunWait("Programm 14. EXE")
    If GUICtrlRead($Checkbox15)= $GUI_CHECKED then RunWait("Programm 15. EXE")
    If GUICtrlRead($Checkbox16)= $GUI_CHECKED then RunWait("Programm 16. EXE")
    If GUICtrlRead($Checkbox17)= $GUI_CHECKED then RunWait("Programm 17. EXE")
    If GUICtrlRead($Checkbox18)= $GUI_CHECKED then RunWait("Programm 18. EXE")
    If GUICtrlRead($Checkbox19)= $GUI_CHECKED then RunWait("Programm 19. EXE")
    If GUICtrlRead($Checkbox20)= $GUI_CHECKED then RunWait("Programm 20. EXE")
    If GUICtrlRead($Checkbox21)= $GUI_CHECKED then RunWait("Programm 21. EXE")
    If GUICtrlRead($Checkbox22)= $GUI_CHECKED then RunWait("Programm 22. EXE")
    If GUICtrlRead($Checkbox23)= $GUI_CHECKED then RunWait("Programm 23. EXE")
    If GUICtrlRead($Checkbox24)= $GUI_CHECKED then RunWait("Programm 24. EXE")
    If GUICtrlRead($Checkbox25)= $GUI_CHECKED then RunWait("Programm 25. EXE")
    If GUICtrlRead($Checkbox26)= $GUI_CHECKED then RunWait("Programm 26. EXE")
    If GUICtrlRead($Checkbox27)= $GUI_CHECKED then RunWait("Programm 27. EXE")
    If GUICtrlRead($Checkbox28)= $GUI_CHECKED then RunWait("Programm 28. EXE")
    If GUICtrlRead($Checkbox29)= $GUI_CHECKED then RunWait("Programm 29. EXE")
    If GUICtrlRead($Checkbox30)= $GUI_CHECKED then RunWait("Programm 30. EXE")
    If GUICtrlRead($Checkbox31)= $GUI_CHECKED then RunWait("Shutdown(2)")
    case $Button4
    Exit

    EndSwitch
    WEnd


    Eine kleine Frage habe dazu noch:
    Kann mann dieses Script auch so verändern das ein Programm in der Liste auch selber einen Neustart ausführen kann und das Script danach trozdem noch mit dem nächsten ausgewählten Programm weitermacht ?
    Wenn mann also z.B. die Programme 3 bis 10 markiert hat und das Programm 4 einen Neustart macht, sollte das Script nach dem Neustart trozdem noch die Programme 5 bis 10 installieren können.

    Dazu müsste man doch den Zustand des Software Installers vor den Neustart in eine Datei o.ä. schreiben und diese Datei o.ä. nach dem Neustart wieder aufrufen (vieleicht währe soetwas auch mit Hilfe der Registry möglich.)

    Nur wie kann man soetwas machen ?

    Gruß
    BigRox

    P.S. Woher kommen eigentlich die Smileys im Script, die solten eigentlich nicht da drin sein ?