Hi habe folgendes Script geschrieben.
Es soll die angegebenen Dateien aus dem Internet herunterladen, im Scriptdir speichern und dann installieren. Allerdings dauert es schon jetzt sehr lange bis die GUI überhaupt erscheint.
Hat vll. jemand eine Idee wie man den Code allgemein kürzen bzw. vereinfachen kann?
Spoiler anzeigen
#cs ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]AutoIt Version: 3.3.8.1
Author: Keks alias Marco Haberstroh
Script Function:
Läd ausgewählte Standartprogramme wie Java und Flashplayer automatisch runter und installiert diese.
Downloading the choosed programes and installed them.
#ce ----------------------------------------------------------------------------
; Includes
[/autoit] [autoit][/autoit] [autoit]#RequireAdmin
#include <GuiConstantsEx.au3>
#include <GuiButton.au3>
#include <File.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <progressconstants.au3>
#include <windowsconstants.au3>
;Adressen/Adresses
$DJavax86 = "http://javadl.sun.com/webapps/download/AutoDL?BundleId=79063"
$DJavax64 = "1"
$DFlash = "http://download.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_11_plugin.exe"
$DReader = "ftp://ftp.adobe.com/pub/adobe/reader/win/11.x/11.0.00/de_DE/AdbeRdr11000_de_DE.exe"
$DShock = "http://get.adobe.com/de/shockwave/thankyou/?installer=Shockwave_12.0.3.133_Windows_Slim_Other_Browsers"
$DWinrarx86 = "http://www.winrar.de/dl/wrar420d.exe"
$DWinrarx64 = "http://www.winrar.de/dl/winrar-x64-420d.exe"
$DVLC = "http://get.videolan.org/vlc/2.0.7/win32/vlc-2.0.7-win32.exe"
$DFirefoxx86 = "http://www.mozilla.org/de/firefox/new/#download-fx"
$DFirefoxx64 = "2"
$DDeep = "http://www.deepburner.com/download/DeepBurner1.exe"
;Dateigrößen
$Sizejava86 = Round (InetGetSize($DJavax86)/1024/1024)
$sizejava64 = Round (InetGetSize($DJavax64)/1024/1024,2)
$Sizeflash = Round (InetGetSize($DFlash)/1024/1024,2)
$sizereader = Round (InetGetSize($DReader)/1024/1024,2)
$sizeshock = Round (InetGetSize($DShock)/1024/1024,2)
$sizerar86 = Round (InetGetSize($DWinrarx86)/1024/1024,2)
$sizerar64 = Round (InetGetSize($DWinrarx64)/1024/1024,2)
$sizevlc = Round (InetGetSize($DVLC)/1024/1024,2)
$sizefirefox86 = Round (InetGetSize($DFirefoxx86)/1024/1024,2)
$sizefirefox64 = Round (InetGetSize($DFirefoxx64)/1024/1024,2)
$sizedeep = Round (InetGetSize($DDeep)/1024/1024,2)
;GUI
[/autoit] [autoit][/autoit] [autoit]GUICreate ("Keks Dwler", 350, 300) ;Erstellt GUI/Create a GUI
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTab (10,10,335,270)
GUICtrlCreateTabItem ("Win XP x86")
$Javaxp = GUICtrlCreateCheckbox ("Java",25,35)
$Flashxp = GUICtrlCreateCheckbox ("Adobe Flashplayer", 25, 55)
$Readerxp = GUICtrlCreateCheckbox ("Adobe Reader", 25, 75)
$Shockxp = GUICtrlCreateCheckbox ("Shockwave Player", 25, 95)
$Winrarxp = GUICtrlCreateCheckbox ("WinRar", 205, 35)
$VLCxp = GUICtrlCreateCheckbox ("VLC Media Player", 205, 55)
$Firefoxxp = GUICtrlCreateCheckbox ("Firefox", 205, 75)
$Deepxp = GUICtrlCreateCheckbox ("Deepburner", 205, 95)
$Prges1 = GUICtrlCreateProgress (25, 135, 300,20)
$Label1 = GUICtrlCreateLabel("Nach dem Klicken auf Beginn, nichts mehr Klicken!",30,160)
$Beginn1 = GUICtrlCreateButton ("Beginn", 150, 200)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem ("Win XP x64")
$Javaxp64 = GUICtrlCreateCheckbox ("Java",25,35)
$Flashxp64 = GUICtrlCreateCheckbox ("Adobe Flashplayer", 25, 55)
$Readerxp64 = GUICtrlCreateCheckbox ("Adobe Reader", 25, 75)
$Shockxp64 = GUICtrlCreateCheckbox ("Shockwave Player", 25, 95)
$Winrarxp64 = GUICtrlCreateCheckbox ("WinRar", 205, 35)
$VLCxp64 = GUICtrlCreateCheckbox ("VLC Media Player", 205, 55)
$Firefoxxp64 = GUICtrlCreateCheckbox ("Firefox", 205, 75)
$Deepxp64 = GUICtrlCreateCheckbox ("Deepburner", 205, 95)
$Prges2 = GUICtrlCreateProgress (25, 135, 300,20)
$Label2 = GUICtrlCreateLabel("Nach dem Klicken auf Beginn, nichts mehr Klicken!",30,160)
$Beginn2 = GUICtrlCreateButton ("Beginn", 150, 200)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem ("Win7 x86")
$Java7 = GUICtrlCreateCheckbox ("Java",25,35)
$Flash7 = GUICtrlCreateCheckbox ("Adobe Flashplayer", 25, 55)
$Reader7 = GUICtrlCreateCheckbox ("Adobe Reader", 25, 75)
$Shock7 = GUICtrlCreateCheckbox ("Shockwave Player", 25, 95)
$Winrar7 = GUICtrlCreateCheckbox ("WinRar", 205, 35)
$VLC7 = GUICtrlCreateCheckbox ("VLC Media Player", 205, 55)
$Firefox7 = GUICtrlCreateCheckbox ("Firefox", 205, 75)
$Deep7 = GUICtrlCreateCheckbox ("Deepburner", 205, 95)
$Prges3 = GUICtrlCreateProgress (25, 135, 300,20)
$Label3 = GUICtrlCreateLabel("Nach dem Klicken auf Beginn, nichts mehr Klicken!",30,160)
$Beginn3 = GUICtrlCreateButton ("Beginn", 150, 200)
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem ("Win7 x64")
$Javax64 = GUICtrlCreateCheckbox ("Java",25,35)
$Flashx64 = GUICtrlCreateCheckbox ("Adobe Flashplayer", 25, 55)
$Readerx64 = GUICtrlCreateCheckbox ("Adobe Reader", 25, 75)
$Shockx64 = GUICtrlCreateCheckbox ("Shockwave Player", 25, 95)
$Winrarx64 = GUICtrlCreateCheckbox ("WinRar", 205, 35)
$VLCx64 = GUICtrlCreateCheckbox ("VLC Media Player", 205, 55)
$Firefoxx64 = GUICtrlCreateCheckbox ("Firefox", 205, 75)
$Deepx64 = GUICtrlCreateCheckbox ("Deepburner", 205, 95)
$Prges4 = GUICtrlCreateProgress (25, 135, 300,20)
$Label4 = GUICtrlCreateLabel("Nach dem Klicken auf Beginn, nichts mehr Klicken!",30,160)
$Beginn4 = GUICtrlCreateButton ("Beginn", 150, 200)
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW) ; Zum Anzeigen der GUI nötig/Show GUI
;Button Befehle
While 1
Switch GUIGetMsg ()
case $GUI_EVENT_CLOSE
Exit
case $Beginn1
xpCheck()
Case $Beginn2
xp64Check()
Case $Beginn3
Win7Check()
Case $Beginn4
Win764Check()
EndSwitch
WEnd
;checkbefehl ob überhaupt was markiert wurde
func XPCheck()
if GUICtrlRead($Javaxp) =4 and GUICtrlRead($Flashxp) =4 And GUICtrlRead($Readerxp)=4 and GUICtrlRead($Shockxp)=4 and GUICtrlRead($Winrarxp)=4 and GUICtrlRead($VLCxp)=4 and GUICtrlRead($Firefoxxp)=4 and GUICtrlRead($Deepxp)=4 then
MsgBox(1,"Error","Nichts ausgewählt!")
Else
XPx86()
EndIf
EndFunc
Func xp64Check()
if GUICtrlRead($Javaxp64) =4 and GUICtrlRead($Flashxp64) =4 And GUICtrlRead($Readerxp64)=4 and GUICtrlRead($Shockxp64)=4 and GUICtrlRead($Winrarxp64)=4 and GUICtrlRead($VLCxp64)=4 and GUICtrlRead($Firefoxxp64)=4 and GUICtrlRead($Deepxp64)=4 then
MsgBox(1,"Error","Nichts ausgewählt!")
Else
xpx64()
EndIf
EndFunc
Func Win7Check()
if GUICtrlRead($Java7) =4 and GUICtrlRead($Flash7) =4 And GUICtrlRead($Reader7)=4 and GUICtrlRead($Shock7)=4 and GUICtrlRead($Winrar7)=4 and GUICtrlRead($VLC7)=4 and GUICtrlRead($Firefox7)=4 and GUICtrlRead($Deep7)=4 then
MsgBox(1,"Error","Nichts ausgewählt!")
Else
win7()
EndIf
EndFunc
Func Win764Check()
if GUICtrlRead($Javax64) =4 and GUICtrlRead($Flashx64) =4 And GUICtrlRead($Readerx64)=4 and GUICtrlRead($Shockx64)=4 and GUICtrlRead($Winrarx64)=4 and GUICtrlRead($VLCx64)=4 and GUICtrlRead($Firefoxx64)=4 and GUICtrlRead($Deepx64)=4 then
MsgBox(1,"Error","Nichts ausgewählt!")
Else
Win764()
EndIf
EndFunc
;Hauptfunktionen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]func XPx86()
msgbox(1,GUICtrlRead($Javaxp),"2")
If GUICtrlRead($Javaxp) =1 Then
$hDL1= InetGet($DJavax86,@ScriptDir&"\java.exe",1,1)
GUICtrlSetData($Label1, "Download gestartet")
Sleep(1000)
While InetGetInfo($hDL1,2) = False
$Info1 = Round (InetGetInfo($hDL1,0)/1024/1024,2)
$ipercent = Round(100/$Sizejava86*$info1)
ConsoleWrite($ipercent & @LF)
GUICtrlSetData($Label1, "Java Download: "&$info1&"MB"&" von "&$Sizejava86&" MB Geladen")
GUICtrlSetData($Prges1,$ipercent)
sleep (500)
WEnd
InetClose($hDL1)
EndIf
If GUICtrlRead($Flashxp)=1 Then
$hDL2 = Inetget($DFlash,@ScriptDir&"\Flashplayer.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
sleep(1000)
While InetGetInfo($hDL2,2) = False
$info2 = Round(InetGetInfo($hDL2,0)/1024/1024,2)
$ipercent2 = Round(100/$Sizeflash*$info2)
ConsoleWrite($ipercent2 & @LF)
GUICtrlSetData($Label1, "Flash Download: "&$info2&"MB"&" von "&$Sizeflash&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent2)
Sleep(500)
WEnd
InetClose($hDL2)
EndIf
If GUICtrlRead($Readerxp)=1 Then
$hDL3= InetGet($DReader,@ScriptDir&"\Reader.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL3,2) = False
$info3 = Round(InetGetInfo($hDL3,0)/1024/1024,2)
$ipercent3 = Round(100/$sizereader*$info3)
ConsoleWrite($ipercent3 & @LF)
GUICtrlSetData($Label1,"Reader Download: "&$info3&"MB"&" von "&$sizereader&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent3)
Sleep(500)
WEnd
InetClose($hDL3)
EndIf
If GUICtrlRead($Shockxp)=1 Then
$hDL4= InetGet($DShock,@ScriptDir&"\Shockwave.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL4,2) = False
$info4 = Round(InetGetInfo($hDL4,0)/1024/1024,2)
$ipercent4 = Round(100/$sizeshock*$info4)
ConsoleWrite($ipercent4 & @LF)
GUICtrlSetData($Label1,"Shockwave Download: "&$info4&"MB"&" von "&$sizeshock&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent4)
Sleep(500)
WEnd
InetClose($hDL4)
EndIf
If GUICtrlRead($Winrarxp)=1 Then
$hDL5= InetGet($DWinrarx86,@ScriptDir&"\Winrar.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL5,2) = False
$info5 = Round(InetGetInfo($hDL4,0)/1024/1024,2)
$ipercent5 = Round(100/$sizerar86*$info5)
ConsoleWrite($ipercent5 & @LF)
GUICtrlSetData($Label1,"Winrar Download: "&$info5&"MB"&" von "&$sizerar86&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent5)
Sleep(500)
WEnd
InetClose($hDL5)
EndIf
If GUICtrlRead($VLCxp)=1 Then
$hDL6= InetGet($DVLC,@ScriptDir&"\VLC.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL6,2) = False
$info6 = Round(InetGetInfo($hDL6,0)/1024/1024,2)
$ipercent6 = Round(100/$sizevlc*$info6)
ConsoleWrite($ipercent6 & @LF)
GUICtrlSetData($Label1,"VLC Download: "&$info6&"MB"&" von "&$sizevlc&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent6)
Sleep(500)
WEnd
InetClose($hDL6)
EndIf
If GUICtrlRead($Firefoxxp)=1 Then
$hDL7= InetGet($DFirefoxx86,@ScriptDir&"\Firefox.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL7,2) = False
$info7 = Round(InetGetInfo($hDL7,0)/1024/1024,2)
$ipercent7 = Round(100/$sizefirefox86*$info7)
ConsoleWrite($ipercent7 & @LF)
GUICtrlSetData($Label1,"Firefox Download: "&$info7&"MB"&" von "&$sizefirefox86&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent7)
Sleep(500)
WEnd
InetClose($hDL7)
EndIf
if GUICtrlRead($Deepxp)=1 Then
$hDL8= InetGet($DDeep,@ScriptDir&"\Deep.exe",1,1)
GUICtrlSetData($Label1,"Download gestartet")
Sleep(1000)
While InetGetInfo($hDL8,2) = False
$info8 = Round(InetGetInfo($hDL8,0)/1024/1024,2)
$ipercent8 = Round(100/$sizedeep*$info8)
ConsoleWrite($ipercent8 & @LF)
GUICtrlSetData($Label1,"DeepBurner Download: "&$info8&"MB"&" von "&$sizedeep&" MB Geladen")
GUICtrlSetData($Prges1, $ipercent8)
Sleep(500)
WEnd
InetClose($hDL8)
EndIf
GUICtrlSetData($Label1,"Bin Fertig, was nun? :D")
EndFunc
Func xpx64()
MsgBox(1,"hallo","hallo")
EndFunc
func win7()
msgbox(1,"hallo","hallo")
EndFunc
func win764()
msgbox(1,"hallo","hallo")
EndFunc
Wie ihr seht bin ich auch noch nicht ganz fertig damit.
Vielen Danke schonmal im Vorraus
Gruß
Marco