Hi ich hab mir ein gui gemacht und auf rate ein paar leute Array verwendet nur weis ich nicht mehr was ich bei den Cheakboxen auslesen für eine Variable nehmen muss ![]()
Spoiler anzeigen
dim $RUN
dim $EXIT
dim $Button_1
dim $APP_CHKBOX[1]
Dim $i
Dim $Status1
#include <GUIConstants.au3> ;this is required for a GUI to work
[/autoit] [autoit][/autoit] [autoit];This creates the inital GUI box
;To Remove any non-needed checkboxes simply remark any of the CHKBOX lines
GUICreate ("Application Launcher",580,400)
GUISetFont(14,600)
GUICtrlCreateLabel("Application Installer",10,5)
GUISetFont(9,400)
$Apps = stringsplit("Acrobat Reader 7.0.8|Lan Net Scan 3.3|Windows Service Pack 2|Windows Update Pack 2.13|VNC 4.1|VLC Media Player|WinRAR|V-Scan 7.1|V-Scan 8.13|Java 5 SP7|Windows Defender|PDF Creator 0.9|Aufräumen|FireFox|Windows GUI anpassen","|";)
redim $APP_CHKBOX[$apps[0] +1]
$top = 10
for $i = 1 to $apps[0]
$top = $top + 20
$APP_CHKBOX[$i] = GUICtrlCreateCheckbox($apps[$i],10,$top);Checkbox 1
Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$Button_1 = GUICtrlCreateButton ("Select All", 340, 140, 100)
$Button_2 = GUICtrlCreateButton ( "Desktop Install", 340, 180, 100)
$Button_3 = GUICtrlCreateButton ("Server Install", 340, 220, 100)
$Button_4 = GUICtrlCreateButton ( "Laptop Install", 340, 260, 100)
$Button_5 = GUICtrlCreateButton ( "Clear Checkboxes", 340, 300, 100)
$RUN = GUICtrlCreateButton("Install",10,350,120,20);This in the Run button
$EXIT = GUICtrlCreateButton("Exit",450,350,120,20);This causes the application to exit
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $Button_1
for $i = 1 to $apps[0]
GUICtrlSetState($APP_CHKBOX[$i],$GUI_CHECKED)
next
Case $Button_5
for $i = 1 to $apps[0]
GUICtrlSetState($APP_CHKBOX[$i],$GUI_UNCHECKED)
next
;~ Switch $Button_1
;~ For $i = 1 to 15
EndSwitch
WEnd
Do
$msg = GUIGetMsg()
;Reads the status of the Checkboxes and sets a variable to either 1 for checked or 4 for not checked
;This HAS to be included before the UNTIL statement
$status1 = GUICtrlRead($APP_CHKBOX[$apps[0])
$status2 = GUICtrlRead($APP_CHKBOX[$apps[1])
$status3 = GUICtrlRead()
$status4 = GUICtrlRead($Apps[4])
$status5 = GUICtrlRead($Apps[5])
$status6 = GUICtrlRead($Apps[6])
$status7 = GUICtrlRead($Apps[7])
$status8 = GUICtrlRead($Apps[8])
$status9 = GUICtrlRead($Aapps[9])
$status10 = GUICtrlRead($Apps[10])
$status11 = GUICtrlRead($Apps[11])
$status12 = GUICtrlRead($Apps[12])
$status13 = GUICtrlRead($Apps[13])
$status14 = GUICtrlRead($Apps[14])
$status15 = GUICtrlRead($Apps[15])
Until $msg = $EXIT or $msg = $RUN
[/autoit] [autoit][/autoit] [autoit]If $msg = $EXIT then Exit
;Checks the status of the Checkboxes and calls the application function(s) if the checkbox is enabled
; Map X drive to \\myserver2\stuff2 using the user "jon" from "domainx" with password "tickle"
DriveMapAdd("L:", "\\", 0, "", "";)
IF $status1 = 1 then call ("APP_1";)
IF $status2 = 1 then call ("APP_1";)
IF $status3 = 1 then call ("APP_1";)
IF $status4 = 1 then call ("APP_1";)
IF $status5 = 1 then call ("APP_1";)
IF $status6 = 1 then call ("APP_1";)
IF $status7 = 1 then call ("APP_1";)
IF $status8 = 1 then call ("APP_1";)
IF $status9 = 1 then call ("APP_1";)
IF $status10 = 1 then call ("APP_1";)
IF $status11 = 1 then call ("APP_1";)
IF $status12 = 1 then call ("APP_1";)
IF $status13 = 1 then call ("APP_1";)
IF $status14 = 1 then call ("APP_1";)
IF $status15 = 1 then call ("APP_1";)
Call ("END_APP";)
;Add Application here
Func APP_1();Acrobat 7.0.8
MsgBox(0, "AcrobatReader get installed", "Bitte Warten...", 5)
Run("c:\test.bat","",@SW_SHOWDEFAULT)
ProcessWaitClose("cmd.exe";)
EndFunc
Func APP_2();Lan Net Scan 3.3
MsgBox(0, "LanNetScan get installed", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\Lannetscan3.3\lannetscan.exe /silent","",@SW_SHOWDEFAULT)
ProcessWaitClose("lannetscan.exe";)
EndFunc
Func APP_3();Windows Service Pack 2
Run(@ScriptDir & "\Software\SP2\i386\update\update /passive /norestart","",@SW_SHOWDEFAULT)
ProcessWaitClose("update.exe";)
MsgBox(0, "SP2 ist installiert", "SP2 ist installiert", 5)
EndFunc
Func APP_4();Windows UpdatePac 2.13
$inifile = @ScriptDir & "\Software\Updatepack\Data\settings.ini";Phat 2 the Update Ini
$titel = "Winfuture Update-Pack Silentinstaller"
$main = GUICreate($titel, 410, 270, -1, -1, $WS_POPUPWINDOW, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateGroup("", 10, 10, 390, 80)
$lb_vers = GUICtrlCreateLabel("Version", 20, 20, 370)
$lb_date = GUICtrlCreateLabel("Datum", 20, 40, 370)
$lb_silent = GUICtrlCreateLabel("Silentinstaller ", 20, 60, 370)
GUICtrlCreateGroup("", 10, 90, 390, 120)
$lb_anzahl = GUICtrlCreateLabel("", 20, 100, 40)
$lb_file = GUICtrlCreateLabel("Datei: ", 20, 120, 370)
$lb_description = GUICtrlCreateLabel("Beschreibung: ", 20, 150, 370, 50)
$progress = GUICtrlCreateProgress(10, 220, 390, 40, $PBS_SMOOTH)
$step_progress = 0
GUISetState(@SW_SHOW, $main)
[/autoit] [autoit][/autoit] [autoit];Auslesen der settings.ini
$num = IniRead($inifile, "Main", "Files", "";)
$vers = IniRead($inifile, "Main", "Name", "Es ist etwas schief gelaufen!";)
$date = IniRead($inifile, "Main", "Version", "Es ist etwas schief gelaufen!";)
GUICtrlSetData($lb_vers, $vers ";)
GUICtrlSetData($lb_date, $date)
GUICtrlSetData($lb_anzahl, "0/" & $num)
;Errechnen der Fortschrittsbalkengeschwindigkeit
$step = 100 / $num
;Auslesen der einzelnen Sectionen (1-n)
;Gleichzeitiges setzen der Infos und ausführen des Scriptes (unsichtbar)
For $i = 1 To $num
$file = IniRead($inifile, "File" & $i, "File", "Es ist etwas schief gelaufen!";)
$parameter = IniRead($inifile, "File" & $i, "Parameters", "";)
$description = IniRead($inifile, "File" & $i, "Name", "Es ist etwas schief gelaufen!";)
GUICtrlSetData($lb_anzahl, $i & "/" & $num)
GUICtrlSetData($lb_file, $file)
GUICtrlSetData($lb_description, $description)
RunWait(@ScriptDir & "\Software\Updatepack\Data\" & $file & " " & $parameter, @ScriptDir, @SW_HIDE)
$step_progress = $step_progress + $step
GUICtrlSetData($progress, $step_progress)
Next
EndFunc
Func APP_5();VNC 4.1
MsgBox(0, "VNC get installed", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\VNC\VNC41.exe /silent","",@SW_SHOWDEFAULT)
ProcessWaitClose("vnc41.exe";)
Run("regedit /s "& @ScriptDir & "\Software\VNC\VNCOptionen.reg","",@SW_SHOWDEFAULT);VNC Passwort und FirewallPorts
EndFunc
Func APP_6();VLC Media Player
MsgBox(0, "VLC get installed", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\VLC\VLC.exe /S","",@SW_SHOWDEFAULT)
EndFunc
Func APP_7();Winrar
MsgBox(0, "WinRar get installed", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\WinRar\wrar350d.exe /s","",@SW_SHOWDEFAULT)
ProcessWaitClose("wrar350d.exe";)
EndFunc
Func APP_8();V-Scan7.1
Run(@ScriptDir & "\Software\VScan7.10\setup.exe /quiet /passive","",@SW_SHOWDEFAULT)
ProcessWaitClose("setup.exe";)
Superdat()
EndFunc
Func APP_9();V-Scan 8.13
MsgBox(0, "V-Scan8 get installed", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\VScan8.13\V-Scan8\setup.exe /passive","",@SW_SHOWDEFAULT)
ProcessWaitClose("setup.exe";)
Run(@ScriptDir & "\Software\VScan8.13\Update8.13\setup.exe /passive","",@SW_SHOWDEFAULT)
ProcessWaitClose("setup.exe";)
Superdat()
EndFunc
Func Superdat();Superdat vom 21.09
Run(@ScriptDir & "\Software\VScan-Superdat\sdat4857.exe /SILENT","",@SW_SHOWDEFAULT)
EndFunc
Func APP_10();Java 5 Sp7
Run(@ScriptDir & "\Software\Java\java.exe /S /v/qn","",@SW_SHOWDEFAULT)
ProcessWaitClose("java.exe";)
EndFunc
Func APP_11();Windows Defender
MsgBox(0, "Windows Defender get installed", "Bitte Warten...", 5)
RunWait("msiexec /i WindowsDefender.msi /qb" , @ScriptDir & "\Software\WindowsDefender";)
Sleep(1500)
WinWait("Windows Defender (Beta 2)", "Banner Panel";)
WinClose("Windows Defender (Beta 2)";)
EndFunc
Func APP_12();PDF Creator 0.9
MsgBox(0, "PDF Creator 0.9 get installed", "Bitte Warten...", 5)
RunWait(@ScriptDir & "\Software\PDFCreator0.9\PDFCreator.msi /verysilent /norestart","",@SW_SHOWDEFAULT)
ProcessWaitClose("PDFCreator.msi";)
EndFunc
Func APP_13();Aufräumen
MsgBox(0, "Time 2 Clean", "Bitte Warten...", 5)
Run(@ScriptDir & "\Software\Aufraeum.bat","",@SW_SHOWDEFAULT)
ProcessWaitClose("Aufraeum.bat";)
EndFunc
Func APP_14();Firefox
Run(@ScriptDir & "\Software\FireFox\.exe -ma","",@SW_SHOWDEFAULT)
EndFunc
Func APP_15();Windows GUI anpassen
; Klassisches Startmenü
Run("rundll32.exe shell32.dll,Options_RunDLL 1";)
WinWait("Eigenschaften von Taskleiste und Startmenü";)
send("^{tab}";)
send("!k";)
send("{enter}";)
; Desktop einrichten
[/autoit] [autoit][/autoit] [autoit]Run(@COMSPEC & " /c desk.cpl";)
winwait("Eigenschaften von Anzeige";)
send("{shiftdown}";)
send("{tab}";)
send("{shiftup}";)
send("{right}";)
send("!e";)
winwait("Desktopelemente";)
send("!e";)
send("!i";)
send("!r";)
send("!d";)
send("{enter}";)
winwait("Eigenschaften von Anzeige";)
send("{enter}";)
EndFunc
Func END_APP()
MsgBox(4096,"Complete","All Selected Applications Installed";)
EndFunc
Ich hoffe das ihr mir weiterhelfen könnt bzw. mir fehler und verbesserungen posten könnt ![]()
danke
Edit BugFix: Spoiler eingefügt