Skript wird nicht beendet ( Script Paused unter ausgeblendeten Symbolen )

  • Hallo zusammen, nachdem mein Skrip nu eigentlich endlich fertig ist, muss ich feststellen das es sich nicht ordnungsgemäss beendet.

    Ich denke es hängt damit zusammen das ich das erste Fenster ausblende, hab aber keinen blassen Schimmer wie ich das nun schliessen soll.

    Würde mich freuen wenn ihr mir nochmals unter die Arme greifen könnt.

    LG Mike

    Spoiler anzeigen
    [autoit]

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

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

    Case $Button1
    ; GUI verstecker :D
    GUISetState(@SW_HIDE)

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

    ; Prüfen ob Verzeichnise für RegistryBackup existieren und ggf. anlegen
    If Not FileExists("C:\RegistryBackup") Then
    DirCreate("C:\RegistryBackup")
    EndIf

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

    If FileExists("C:\RegistryBackup\regbackup.reg") Then
    FileDelete("C:\RegistryBackup\regbackup.reg")
    EndIf

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

    ; Registry Backup
    RunWait('regedit /e C:\RegistryBackup\regbackup.reg', @WindowsDir)

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

    ; Prüfung ob das Verzeichnis CCleaner im Programmverzeichnis von Windows existiert
    If Not FileExists(@ProgramFilesDir & "\CCleaner") Then

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

    ; Download von Ccleaner
    HttpSetProxy(0)
    $url="http://mm-edv.eu/DL/ccsetup310_slim.exe"
    $filename = StringSplit($url, "/")
    $filesplit = UBound($filename)-1
    InetGet($url, @WindowsDir & "\" & $filename[$filesplit])

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

    ; Installation von Ccleaner
    ShellExecute("ccsetup310_slim.exe", '/S', @ProgramFilesDir & "\CCleaner", 'open', @SW_HIDE)

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

    ElseIf FileExists(@ProgramFilesDir & "\CCleaner") Then

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

    ShellExecuteWait("C:\Program Files\CCleaner\CCleaner64.exe", "/AUTO")
    EndIf

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

    ; Leeren der Windoof Temp-Ordner
    FileDelete("C:\TEMP\*.*")
    FileDelete("C:\Windows\Temp\*.*")

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

    ; Alles erledigt

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

    MsgBox(0, "Feddich", " Registry gesichert unter: C:\RegistryBackup und Festplatte sauber.")
    EndSwitch
    WEnd

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

    Exit

    [/autoit]

    #EDIT: Grad festgestellt das die If Not FileExists(@ProgramFilesDir & "\CCleaner") Then - Abfrage auch nicht richtig funzt 8|
    Hab ich da `nen Fehler reingebastelt ? -> Denkanstoss genügt :P
    Danke !

    2 Mal editiert, zuletzt von Mike280399 (25. September 2011 um 15:36)

  • bitte schön:

    Spoiler anzeigen
    [autoit]

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

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

    Case $Button1
    ; GUI verstecker :D
    _meineInstallation()
    EndSwitch
    WEnd

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

    Func _meineInstallation()
    GUISetState(@SW_HIDE)

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

    ; Prüfen ob Verzeichnise für RegistryBackup existieren und ggf. anlegen
    If Not FileExists("C:\RegistryBackup") Then
    DirCreate("C:\RegistryBackup")
    EndIf

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

    If FileExists("C:\RegistryBackup\regbackup.reg") Then
    FileDelete("C:\RegistryBackup\regbackup.reg")
    EndIf

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

    ; Registry Backup
    RunWait('regedit /e C:\RegistryBackup\regbackup.reg', @WindowsDir)

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

    ; Prüfung ob das Verzeichnis CCleaner im Programmverzeichnis von Windows existiert
    If Not FileExists(@ProgramFilesDir & "\CCleaner") Then

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

    ; Download von Ccleaner
    HttpSetProxy(0)
    $url = "http://mm-edv.eu/DL/ccsetup310_slim.exe"
    $filename = StringSplit($url, "/")
    $filesplit = UBound($filename) - 1
    InetGet($url, @WindowsDir & "\" & $filename[$filesplit])

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

    ; Installation von Ccleaner
    ShellExecute("ccsetup310_slim.exe", '/S', @ProgramFilesDir & "\CCleaner", 'open', @SW_HIDE)

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

    ElseIf FileExists(@ProgramFilesDir & "\CCleaner") Then

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

    ShellExecuteWait("C:\Program Files\CCleaner\CCleaner64.exe", "/AUTO")
    EndIf

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

    ; Leeren der Windoof Temp-Ordner
    FileDelete("C:\TEMP\*.*")
    FileDelete("C:\Windows\Temp\*.*")

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

    ; Alles erledigt

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

    MsgBox(0, "Feddich", " Registry gesichert unter: C:\RegistryBackup und Festplatte sauber.")
    Exit
    EndFunc ;==>_meineInstallation

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

    Exit

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Yeeehaaaa :thumbup:
    Danke !

    BTW: Grad festgestellt das die

    [autoit]

    If Not FileExists(@ProgramFilesDir & "\CCleaner") Then

    [/autoit]

    - Abfrage auch nicht richtig funzt 8|
    Wird installiert obwohl das Verzeichnis bereits existiert....

    Hab ich da `nen Fehler reingebastelt ? -> Denkanstoss genügt :P
    Danke !

  • Not ist in diesem Fall eigentlich falsch, auch wenn es viele "Mißbrauchen".
    Ich würde sicherer den realen Rückgabewert abfragen:

    [autoit]

    If FileExists(@ProgramFilesDir & "\CCleaner") = 0 Then

    [/autoit]


    Kann aber je nach BS variieren,
    da das Makro @ProgramFilesDir je nach Kompilierung in 32-bit oder 64-bit einen anderen Wert annimmt ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)