GUI erstellen

  • [Blockierte Grafik: http://www.mitglied.lycos.de/darkblade2/autoit/gui.jpg]

    Also ich was ich brauche ist das ich die checkboxen ankicken kann, also meine auswahl treffen, dann auf Installieren und die Ausgewählten Progs werden nacheinander installiert Alphabetisch am besten. Das cools wäre dann noch wenn alle eingaben blockiert wären und man alles auf der Progress bar verfolgen, so wie im Script: Comfort.

    Hier mal der Code meiner jetzigen GUI

    Hoffe mir kann einer helfen ^^

    gruß

    Drako


    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #NoTrayIcon
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=f:\progs\proginstall.kxf
    Global $Form1 = GUICreate("Programme Installieren", 562, 274, -1, -1)
    GUISetFont(8, 400, 0, "Microsoft Sans Serif")
    GUISetBkColor(0xD8E4F8)
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "AForm1Minimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "AForm1Maximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "AForm1Restore")
    Global $RUN = GUICtrlCreateButton("AlleProgsInstallieren", 144, 240, 110, 33, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "AButton1Click")
    GUICtrlSetState(-1, $GUI_FOCUS)
    Global $EXIT = GUICtrlCreateButton("Abbrechen", 320, 240, 110, 33, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "EXITClick")
    Global $Progress1 = GUICtrlCreateProgress(72, 192, 393, 25)
    GUICtrlSetData(-1, 00)
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetBkColor(-1, 0x3D95FF)
    Global $Group1 = GUICtrlCreateGroup("Programme", 0, 0, 561, 177)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    Global $Checkbox1 = GUICtrlCreateCheckbox("Adobe Reader", 8, 16, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox1Click")
    Global $Checkbox2 = GUICtrlCreateCheckbox("OpenOffice 2.0", 8, 40, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox2Click")
    Global $Checkbox3 = GUICtrlCreateCheckbox("Opera", 8, 64, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox3Click")
    Global $Checkbox4 = GUICtrlCreateCheckbox("Mozilla Firefox 2", 8, 88, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox4Click")
    Global $Checkbox5 = GUICtrlCreateCheckbox("FlashPlayer", 8, 112, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    Global $Checkbox21 = GUICtrlCreateCheckbox("Ahead Nero 7.5", 8, 136, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox21Click")
    Global $Checkbox6 = GUICtrlCreateCheckbox("VLC Player", 144, 16, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox6Click")
    Global $Checkbox7 = GUICtrlCreateCheckbox("QuickTime Player", 144, 40, 113, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox7Click")
    Global $Checkbox8 = GUICtrlCreateCheckbox("RealPlayer", 144, 64, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox8Click")
    Global $Checkbox9 = GUICtrlCreateCheckbox("WinMedia Player", 144, 88, 105, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox9Click")
    Global $Checkbox10 = GUICtrlCreateCheckbox("NetFramework 2.0", 144, 112, 113, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox10Click")
    Global $Checkbox22 = GUICtrlCreateCheckbox("GoBack", 144, 136, 113, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox22Click")
    Global $Checkbox11 = GUICtrlCreateCheckbox("ICQ 5.1", 288, 16, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox11Click")
    Global $Checkbox12 = GUICtrlCreateCheckbox("AOL Messenger", 288, 40, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox12Click")
    Global $Checkbox13 = GUICtrlCreateCheckbox("YAHOO Messenger", 288, 64, 113, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox13Click")
    Global $Checkbox14 = GUICtrlCreateCheckbox("WinLive Messenger", 288, 88, 113, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox14Click")
    Global $Checkbox15 = GUICtrlCreateCheckbox("Skype", 288, 112, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox15Click")
    Global $Checkbox23 = GUICtrlCreateCheckbox("Trillian 3.1", 288, 136, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox23Click")
    Global $Checkbox16 = GUICtrlCreateCheckbox("LimeWire 4.12.0", 440, 16, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox16Click")
    Global $Checkbox17 = GUICtrlCreateCheckbox("Usenext", 440, 40, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox17Click")
    Global $Checkbox18 = GUICtrlCreateCheckbox("WinRar", 440, 64, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox18Click")
    Global $Checkbox19 = GUICtrlCreateCheckbox("TeamSpeak", 440, 88, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox19Click")
    Global $Checkbox20 = GUICtrlCreateCheckbox("TS Overlay", 440, 112, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox20Click")
    Global $Checkbox24 = GUICtrlCreateCheckbox("InterCafe Client", 440, 136, 97, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlSetOnEvent(-1, "ACheckbox24Click")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100)
    WEnd

    Func AButton1Click()
    Run("Progs\allinstall.exe")
    Exit
    EndFunc

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


    Func ACheckbox1Click()
    Run("AdobeReader.exe")
    EndFunc

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


    Func ACheckbox2Click()
    Run("OpenOfficeInstallGer.exe")
    EndFunc

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


    Func ACheckbox3Click()
    Run("Opera.exe")
    EndFunc

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


    Func ACheckbox4Click()
    Run("Firefox2Install.exe")
    EndFunc

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


    Func ACheckbox5Click()
    Run("flashplayer.exe")
    EndFunc

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


    Func ACheckbox6Click()
    Run("VLC Player 0.8.5.exe")
    EndFunc

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


    Func ACheckbox7Click()
    Run("QuickTime.exe")
    EndFunc

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


    Func ACheckbox8Click()
    Run("RealPlayer.exe")
    EndFunc

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


    Func ACheckbox9Click()
    Run("WinMedia11.exe")
    EndFunc

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


    Func ACheckbox10Click()
    Run("Net2.exe")
    EndFunc

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


    Func ACheckbox11Click()
    Run("ICQ.exe")
    EndFunc

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


    Func ACheckbox12Click()
    Run("AOL Messenger.exe")
    EndFunc

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


    Func ACheckbox13Click()
    Run("Yahoo.exe")
    EndFunc

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


    Func ACheckbox14Click()
    Run("MSN.exe")
    EndFunc

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


    Func ACheckbox15Click()
    Run("Skypeinstall.exe")
    EndFunc

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


    Func ACheckbox16Click()
    Run("LimeWireScript.exe")
    EndFunc

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


    Func ACheckbox17Click()
    Run("Usenext.exe")
    EndFunc

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


    Func ACheckbox18Click()
    Run("WinRAR.exe")
    EndFunc

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


    Func ACheckbox19Click()
    Run("TeamSpeakInstall.exe")
    EndFunc

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


    Func ACheckbox20Click()
    Run("TSO.exe")
    EndFunc


    Func ACheckbox21Click()
    Run("Nero.exe")
    EndFunc

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


    Func ACheckbox22Click()
    Run("GoBack.exe")
    EndFunc

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


    Func ACheckbox23Click()
    Run("Trillianinstall.exe")
    EndFunc

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


    Func ACheckbox24Click()
    Run("Intercafe.exe")
    EndFunc

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


    Func ACheckbox25Click()
    Run("TSO.exe")
    EndFunc

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


    Func AForm1Close()
    Exit
    EndFunc

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


    Func AForm1Maximize()

    EndFunc

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


    Func AForm1Minimize()

    EndFunc

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


    Func AForm1Restore()

    EndFunc

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


    Func EXITClick()
    Exit
    EndFunc

    [/autoit]
  • Kannst die Variablen für die Checkboxen erstmal so legen, dass du beim lesen der Variable weisst zu welchem Programm sie gehört. So würd ich das machen:

    [autoit]


    $ctrlCheckbox_Adobe_Reader = .....

    [/autoit]

    Dann liest du alle Checkboxen aus per GuiCtrlRead() müsste das gehen und wenn die checked sind dann installierste das.

  • Könntest du ein kurzes beispiel machen, also einmal wie das bei dem Prog aussehen soll. und dann beim Install button. Ich kann mir das nicht so recht vorstellen. Ich glaub sowas ähnliches hab ich schon in nem anderen thread gesehen was mir jetzt in den kopf steigt, das war beim Install button mit ner While schleife mit If, Else If etc.

    Das hatte dann nur das oberste von der If..ElseIf sache installiert, als ichs abgekupfert habe. Das is meine erste Programmiersprache, ich bin da etwas unbeholfen. :( ;)


    Herscht eigentlich irgendwelches interesse an den Installierungsscripten die ich gemacht habe? mal so ne generelle frage :)

    Einmal editiert, zuletzt von Drako (27. Oktober 2006 um 23:31)

  • peethebee

    *gg* is mir auch schon aufgefallen an ein paar postings von dir,
    aber leider habe ich keine möglichkeit gefunden an dieses Programm von dir ranzukommen,
    unter dem Link den du des Öfteren geschrieben hast, gibts dieses Heft auch nicht mehr mehr zum nachbestellen.

    Wenn alles stimmt was ich gelesene habe, hast du eine großartige Arbeit damit verrichtet.

    Ausserdem wollte ich das ding zuerst ganz alleine erstellen, aber ich schaffs leider doch nicht, und hab zu wenig Zeit um mich perfekt einzuarbeiten.

    • Offizieller Beitrag

    Hi,
    also ich hab das mal etwas abgeändert. Du hattest für jede Checkbox ein Event erzeugt. Damit wäre im Moment des Anklickens sofort die Installation gestartet.
    Ich weise deine Checkboxen jetzt einem Array zu und gleichzeitig ordne ich die Installationspfade der entsprechenden Checkbox im Array zu.
    Die Progressbar fülle ich in Abhängigkeit von der Anzahl der zu installierenden Programme. Bsp.: Bei 10 Programmen (100% / 10 = 10%) erfolgt nach jedem installierten Programm ein Schritt von 10%.
    Also viel Spaß und berichte ob alles geklappt hat.

    EDIT:
    War wohl etwas spät (oder früh? :D ), hab grad noch 'nen Fehler bei der Progressbar entdeckt und geändert. Die Codezeile für die Installation kommentiere ich mal aus und setze eine MsgBox ein, damit du es auch testen kannst.
    #2
    Seh grad, du wolltest während der Installation die Eingabe blockieren. Ich setze das mal - aber auskommentiert, sonst kannst du die MsgBox nicht schließen :D )

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #NoTrayIcon
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=f:\progs\proginstall.kxf
    Global $Form1 = GUICreate("Programme Installieren", 562, 274, -1, -1)

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

    Dim $ar_CheckBox[24][2], $counter = 0, $progressStep, $bar = 0

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

    GUISetFont(8, 400, 0, "Microsoft Sans Serif")
    GUISetBkColor(0xD8E4F8)
    GUISetOnEvent($GUI_EVENT_CLOSE, "AForm1Close")
    GUISetOnEvent($GUI_EVENT_MINIMIZE, "AForm1Minimize")
    GUISetOnEvent($GUI_EVENT_MAXIMIZE, "AForm1Maximize")
    GUISetOnEvent($GUI_EVENT_RESTORE, "AForm1Restore")
    Global $RUN = GUICtrlCreateButton("AlleProgsInstallieren", 144, 240, 110, 33, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "AButton1Click")
    GUICtrlSetState(-1, $GUI_FOCUS)
    Global $EXIT = GUICtrlCreateButton("Abbrechen", 320, 240, 110, 33, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetOnEvent(-1, "EXITClick")
    Global $Progress1 = GUICtrlCreateProgress(72, 192, 393, 25)
    GUICtrlSetData(-1, 00)
    GUICtrlSetColor(-1, 0x0000FF)
    GUICtrlSetBkColor(-1, 0x3D95FF)
    Global $Group1 = GUICtrlCreateGroup("Programme", 0, 0, 561, 177)
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)

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

    $ar_CheckBox[0][0] = GUICtrlCreateCheckbox("Adobe Reader", 8, 16, 97, 17) ; $ar_CheckBox[i] [0] = Handle
    $ar_CheckBox[0][1] = "AdobeReader.exe" ; [1] = Installpfad
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[1][0] = GUICtrlCreateCheckbox("OpenOffice 2.0", 8, 40, 97, 17)
    $ar_CheckBox[1][1] = "OpenOfficeInstallGer.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[2][0] = GUICtrlCreateCheckbox("Opera", 8, 64, 97, 17)
    $ar_CheckBox[2][1] = "Opera.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[3][0] = GUICtrlCreateCheckbox("Mozilla Firefox 2", 8, 88, 97, 17)
    $ar_CheckBox[3][1] = "Firefox2Install.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[4][0] = GUICtrlCreateCheckbox("FlashPlayer", 8, 112, 97, 17)
    $ar_CheckBox[4][1] = "flashplayer.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[5][0] = GUICtrlCreateCheckbox("Ahead Nero 7.5", 8, 136, 97, 17)
    $ar_CheckBox[5][1] = "Nero.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[6][0] = GUICtrlCreateCheckbox("VLC Player", 144, 16, 97, 17)
    $ar_CheckBox[6][1] = "VLC Player 0.8.5.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[7][0] = GUICtrlCreateCheckbox("QuickTime Player", 144, 40, 113, 17)
    $ar_CheckBox[7][1] = "QuickTime.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[8][0] = GUICtrlCreateCheckbox("RealPlayer", 144, 64, 97, 17)
    $ar_CheckBox[8][1] = "RealPlayer.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[9][0] = GUICtrlCreateCheckbox("WinMedia Player", 144, 88, 105, 17)
    $ar_CheckBox[9][1] = "WinMedia11.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[10][0] = GUICtrlCreateCheckbox("NetFramework 2.0", 144, 112, 113, 17)
    $ar_CheckBox[10][1] = "Net2.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[11][0] = GUICtrlCreateCheckbox("GoBack", 144, 136, 113, 17)
    $ar_CheckBox[11][1] = "GoBack.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[12][0] = GUICtrlCreateCheckbox("ICQ 5.1", 288, 16, 97, 17)
    $ar_CheckBox[12][1] = "ICQ.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[13][0] = GUICtrlCreateCheckbox("AOL Messenger", 288, 40, 97, 17)
    $ar_CheckBox[13][1] = "AOL Messenger.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[14][0] = GUICtrlCreateCheckbox("YAHOO Messenger", 288, 64, 113, 17)
    $ar_CheckBox[14][1] = "Yahoo.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[15][0] = GUICtrlCreateCheckbox("WinLive Messenger", 288, 88, 113, 17)
    $ar_CheckBox[15][1] = "MSN.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[16][0] = GUICtrlCreateCheckbox("Skype", 288, 112, 97, 17)
    $ar_CheckBox[16][1] = "Skypeinstall.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[17][0] = GUICtrlCreateCheckbox("Trillian 3.1", 288, 136, 97, 17)
    $ar_CheckBox[17][1] = "Trillianinstall.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[18][0] = GUICtrlCreateCheckbox("LimeWire 4.12.0", 440, 16, 97, 17)
    $ar_CheckBox[18][1] = "LimeWireScript.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[19][0] = GUICtrlCreateCheckbox("Usenext", 440, 40, 97, 17)
    $ar_CheckBox[19][1] = "Usenext.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[20][0] = GUICtrlCreateCheckbox("WinRar", 440, 64, 97, 17)
    $ar_CheckBox[20][1] = "WinRAR.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[21][0] = GUICtrlCreateCheckbox("TeamSpeak", 440, 88, 97, 17)
    $ar_CheckBox[21][1] = "TeamSpeakInstall.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[22][0] = GUICtrlCreateCheckbox("TS Overlay", 440, 112, 97, 17)
    $ar_CheckBox[22][1] = "TSO.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    $ar_CheckBox[23][0] = GUICtrlCreateCheckbox("InterCafe Client", 440, 136, 97, 17)
    $ar_CheckBox[23][1] = "Intercafe.exe"
    GUICtrlSetFont(-1, 8, 400, 0, "Microsoft Sans Serif")
    GUICtrlSetBkColor(-1, 0xD8E4F8)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100)
    WEnd

    Func AButton1Click()
    ; BlockInput(1) ; Tastatur und Maus blockiert
    GUICtrlSetData($Progress1, 2) ; damit der Nutzer sieht, es geht los
    For $i = 0 To UBound($ar_CheckBox)-1
    If GUICtrlRead($ar_CheckBox[$i][0]) = 1 Then $counter += 1 ; feststellen wieviele markiert
    Next
    $progressStep = 100/$counter ; wieviele Schritte (z.B. 3 Programme = 3 Schritte a' 33 %)
    For $i = 0 To UBound($ar_CheckBox)-1
    If GUICtrlRead($ar_CheckBox[$i][0]) = 1 Then
    MsgBox(0, '', "Installation " & $ar_CheckBox[$i][1])
    ; Run($ar_CheckBox[$i][1])
    $bar += $progressStep
    GUICtrlSetData($Progress1, $bar)
    EndIf
    Next
    GUICtrlSetData($Progress1, 100)
    Sleep(1000)
    ; BlockInput(0) ; Tastatur und Maus wieder frei
    Exit
    EndFunc

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

    Func AForm1Close()
    Exit
    EndFunc

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


    Func AForm1Maximize()

    EndFunc

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


    Func AForm1Minimize()

    EndFunc

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


    Func AForm1Restore()

    EndFunc

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


    Func EXITClick()
    Exit
    EndFunc

    [/autoit]
  • Nur so ne kleine Frage:


    Angenommen es gibt die Option: Programme Herunterladen und Installieren.

    ZB nach ner neuinstallation von XP.

    Der user hat zb. ZoneAlarm ausgewählt..

    darf ich das jetzt mit InetGet() auf die zonealarminstall.exe sofort runterladen oder muss ich ihn auf die Download site verweisen?


    Wäre toll wenn man das darf! :D

  • @huggy
    ähm da müsstest du direkt den betreiber der website fragen wo du die datei gehostet hast....eigentlich ist das sehr ungesehen und nicht erwünscht...aber wie gesagt eigentlich^^

  • Erstmal Vielen Vielen Dank, BugFix , das dieses MSG fenster aufgeht blockiert etwas den durchlauf, aber damit wurde mir erstmal ne große hürde genommen. Danke :) Mit eurer hilfe kann ich dieses Projekt echt gut zu ende bringen.

    @weedhead die bilder kenne ich, soetwas hab ich nach anfang meine scripterei von jemand geschenkt bekommen. Es nennt sich XP-Project 2006 geile sache, sind aber einige fehler auch drin, sowas würde ich auch gerne auf die beine stellen.

    So wir sehen uns morgen, ich muss nachhause und schlafen, nur 4 stunden schlaf, und heute ein 5 stunden umzug meiner schwester, naja wenigstens besserung vom 4 stockwerck ohne aufzug, ins erdgeschoss mit nem breiteren flur ^^.

    Naja ich muss pennen, gute nacht und bis morgen

    viele grüße

    Drako

    • Offizieller Beitrag
    Zitat

    das dieses MSG fenster aufgeht blockiert etwas den durchlauf


    Das war ja auch nur für den Testbetrieb ohne die Installationen zu starten (sonst kannst du ja nicht nachvollziehen ob die richtigen Schritte ausgeführt werden). Für die finale Version sollst du natürlich die MsgBox rausschmeißen.

  • Das habe ich am beim Lesen des Codes auch irgendwann bemerkt, I'm Sorry.

    3 Sachen

    Punkt 1. Ich blick nicht durch, mir fehlt der Ankerpunkt. Die Regeln, in welcher reinfolge zum beispiel der inhalt einer funktion definiert wird, oder einer while schleife. Und ich weiss nicht wie ich das lernen soll, die hilfe PDF is der umfangreich zugegeben. Aber die is doch eher hinweisgebend, und gut für die Leute die die Regeln kennen. Ich lerne auch nichts wirklich aus dem beispiel: Hallo Welt.

    Überall kommt dieses beispiel vor nicht nur hier. Warum kann niemand eine weirklich komplexe sache schritt für schritt jeden ankerpunkt zeigen einen hindurch geleiten. Was ich da schon ausgereifter fand war das Tutorial wie man ein Installationsprotokoll erstellt. Ich habe nunmal leider kein vorwissen über schleifen funktionen, oder irgendwelche programmiersprachen. Aber ich versuche mich da so langsam reinzufinden.

    Die sache ist die, ich bin sehr Visuell aufgelegt, das heißt was ich sehe lerne ich. Und das wiederrum werde ich für eine Weile nicht los, ein Segen wie auch ein Fluch, aber das is ne andere sache. Dagegen geschriebene sache zu interpretieren und für mich einzusetzen in einer Sprache die ich erst lerne oder nicht kenne. Ist härter für mich, klar ist es für fast jeden, aber was mir wirklich fehlt sind die Regeln, wann zu welchem Zeitpunkt setzt man welche Regel ein. In den Installations scripten is das keine problem, aber die GUI is um einiges komplizierter.

    Das is weder ein vorwurf noch sonst irgendwas, sondern eine Sache die mich betrifft. Ich will nur zeigen in welchem, dilemma ich stecke. Es könnte natürlich auch zum teil geistige blockade sein, wer weiss.


    BugFix
    2. Punkt: Ich bin der echt dankbar, nun weiss ich zumindest wie man ne gewisse array abfrage machen kann. mit dem beispiel kann ichs nachahmen, aber nicht perfekt begreifen leider.

    ne worum es mir grade geht, ich hab das script jetzt weiter getestet. (Statt zu schlafen geh ich doch echt wieder in die Stadt in das internetcafe wo ich arbeite und muss daran arbeiten. schrecklich ^^)
    Leider steht nicht über dem Progress Balken welche anwendung Installiert wird, das kommt nur im MSG fenster vor, was ich klar jetzt deaktiviert habe ^^.
    3.Punkt und zweite anmerkung. Es gibt keine Pausen zwischen den installationen wenn die MSG abgeschaltet ist. Er öffnet alle install scripte auf einmal. :(


    So mal am rande hat nicht mal jemand lust sich mit mir im TS zu treffen und mir ein wenig die regeln des Scriptens zu erleutern. Wäre sehr nett ;)

    Ich werde jetzt noch bis 6 uhr wahrscheinlich nach antworten suchen. Und frage mich dabei ob die leute jetzt wo die Zeitumtellung war noch ne stunde länger arbeiten müssen nachts, oder ob die vergange stunde überhaupt zählt. :P

    Ich hoffe ihr träumt alles was schönes, und heute abend werde ich die scripte hochladen mit anmerkungen für welche programme das ist, und was das jeweilige Programm kann, wenn man den Lust hat es sich zu besorgen und dann mein script zu benutzen.

    cya

    Drako


    ***EDIT***

    Mir fallen grade noch 2 nette funktionen ein wo die eine aber bestimmt hart ist. Im XP-Project 2006 hat das software menü irgendwie gecheckt ob die programme die zur auswahl stehen, schon installiert sind, und wenn ja hat es die checkbox blockiert, erschien dann nur in grau.
    Das zweite einfach noch ne checkbox die alle anderen checkboxen ausfüllt wenn man einfach wünscht alles zu installieren. Glaub ich zwar eher weniger denn ich werde noch mehr Progs hinzufügen aber für den fall der fälle wärs nett auch dafür den code in der hand zu haben.


    Die installationsscripte zu schreiben macht richtig fun. Sagt mal gibts auch was um Java fenster auszulesen das Window Spy kanns ja leider net, und ich bekomme da keine ankerpunkte wie die buttonnamen. Wenn ich java jetzt mal so richtig interpretiere ist es ja eher eine flüssige software, also in sich geschlossen. passt net ganz aber in so etwa is glaub ich klar was ich meine ^^

    Einmal editiert, zuletzt von Drako (29. Oktober 2006 um 05:18)

  • mhh schau dir des einfach mal an vll hilfts dir(sowas mach ich wenn mir langweilig ist hihi) ist nen pdf wo nen paar von deiner fragen erklärt werden oder zumindest hab ichs versucht....:klatschen:...zu deinem wirklichen problem kann ich dir nicht helfen :/ da musst du die experten fragen :)
    mal anschauen
    also die pdf einfach nur erklärung und die zip enthält auch noch nen paar bilder die versuchen dass zu erklären(hab ich ina schule gemacht)^^

    • Offizieller Beitrag
    Zitat

    ob die programme die zur auswahl stehen, schon installiert sind, und wenn ja hat es die checkbox blockiert, erschien dann nur in grau.


    Wenn die Programme mit Installationsroutine installiert wurden hinterlassen sie im Allgemeinen einen Registry-Eintrag. Das läßt sich also problemlos auswerten und zu deinem gewünschten Deaktivieren der entsprechenden Checkbox verwenden.

    Zitat

    noch ne checkbox die alle anderen checkboxen ausfüllt wenn man einfach wünscht alles zu installieren


    Das dürfte die einfachste aller Übungen sein.

    Zitat

    Leider steht nicht über dem Progress Balken welche anwendung Installiert wird


    Dafür werden wir mal einfach noch eine Statusbar einfügen.

    Zitat

    Es gibt keine Pausen zwischen den installationen....Er öffnet alle install scripte auf einmal


    Nacheinander - klar. Aber auf einmal? Möchtest du nach jeder Installation eine Pause von festgelegter Dauer oder soll der Nutzer den Start der nächsten Installation bestätigen?

    Sag, wie du es haben möchtest - ich helf dir gern weiter. Falls du ICQ od. Yahoo od. MSN hast, kannst ja mal per PN deine Nr. geben. Dann lassen sich Kleinigkeiten schneller klären.

  • coole sache, ich hab das auch noch vor mir =)

    wär von Vorteil, wenn es dazu schon ein Tutorial gibt, dass man sich mal anschauen könnte.

    Aus dem Code oben kann ich mir garnichts nehmen.

  • So ein ähnliches Installations-Programm programmier ich gerade mit Byte zusammen den Windows Post Installer (WPI)