PC-Hilfe- Script-Fehler

  • Hey Leute,
    ich habe da mal einen kurzen Script gemacht (ich weiss es ist nichts besonders, habs in 5 Minuten geschrieben)
    Leider kommt bei If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    eine Fehlermeldung...
    Hier mal der Script :

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Pc-Sicherheit/Verbesserung v1.0", 418, 163, 192, 124)
    $Button1 = GUICtrlCreateButton("Defragmentieren", 16, 16, 123, 57)
    $Button2 = GUICtrlCreateButton("Datenträgerbereinigung", 144, 16, 123, 57)
    $Button3 = GUICtrlCreateButton("Systemwiederherstellung", 272, 16, 123, 57)
    $Button4 = GUICtrlCreateButton("Systeminformationen", 16, 88, 123, 57)
    $Button5 = GUICtrlCreateButton("Zeichentabelle", 144, 88, 123, 57)
    $Button6 = GUICtrlCreateButton("Benutzer verwalten", 272, 88, 123, 57)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    MsgBox(16,"Error","Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    Else
    ShellExecute ("dfrg.msc")
    EndIf
    Case $Button2
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    MsgBox(16,"Error","Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    Else
    ShellExecute ("cleanmgr.exe")
    EndIf
    Case $Button3
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    MsgBox(16,"Error","Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    Else
    ShellExecute ("rstrui.exe")
    EndIf
    Case $Button4
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    MsgBox(16,"Error","Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    Else
    ShellExecute ("msinfo32.exe")
    Case $Button5
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
    MsgBox(16,"Error","Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    Else
    ShellExecute ("charmap.exe")
    EndIf
    EndSwitch
    WEnd

  • Hö, ich finds nicht, wo soll denn das EndIf hin??? Egal wohin ich es mache, es klappt nicht?!

  • Hi,
    Folgende Zeile als erste Zeile in Dein Script einfügen und Autoit gibt Dir mehr Infos zu möglichen Fehlern.

    [autoit]

    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

    [/autoit]

    Mit dieser Funktion kannst Du Dir die mehrfachen GLEICHEN Abfragen sparen.

    Spoiler anzeigen
    [autoit]


    GUICreate("Pc-Sicherheit/Verbesserung v1.0", 418, 163, 192, 124)
    $Button1 = GUICtrlCreateButton("Defragmentieren", 16, 16, 123, 57)
    $Button2 = GUICtrlCreateButton("Datenträgerbereinigung", 144, 16, 123, 57)
    $Button3 = GUICtrlCreateButton("Systemwiederherstellung", 272, 16, 123, 57)
    $Button4 = GUICtrlCreateButton("Systeminformationen", 16, 88, 123, 57)
    $Button5 = GUICtrlCreateButton("Zeichentabelle", 144, 88, 123, 57)
    $Button6 = GUICtrlCreateButton("Benutzer verwalten", 272, 88, 123, 57)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $Button1
    _osVers()
    ShellExecute("dfrg.msc")
    Case $Button2
    _osVers()
    ShellExecute("cleanmgr.exe")
    Case $Button3
    _osVers()
    ShellExecute("rstrui.exe")
    Case $Button4
    _osVers()
    ShellExecute("msinfo32.exe")
    Case $Button5
    _osVers()
    ShellExecute("charmap.exe")
    EndSwitch
    WEnd

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

    Func _osVers()
    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then _
    MsgBox(16, "Error", "Sie haben ein nicht geeignetes Betriebssystem für dieses Programm. Unter Umständen könnten Sie sich eine andere Version des Programmes holen.")
    EndFunc ;==>_osVers
    ; Ende

    [/autoit]


    Oder den Start gleich ganz verhindern, so ist es hier logischer.

    Spoiler anzeigen
    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then Exit _
    MsgBox(16, "Error", @OSVersion & " ist nicht geeignetes für dieses Programm !" & @TAB)
    GUICreate("Pc-Sicherheit/Verbesserung v1.0", 418, 163, 192, 124)
    $Button1 = GUICtrlCreateButton("Defragmentieren", 16, 16, 123, 57)
    $Button2 = GUICtrlCreateButton("Datenträgerbereinigung", 144, 16, 123, 57)
    $Button3 = GUICtrlCreateButton("Systemwiederherstellung", 272, 16, 123, 57)
    $Button4 = GUICtrlCreateButton("Systeminformationen", 16, 88, 123, 57)
    $Button5 = GUICtrlCreateButton("Zeichentabelle", 144, 88, 123, 57)
    $Button6 = GUICtrlCreateButton("Benutzer verwalten", 272, 88, 123, 57)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case -3
    Exit
    Case $Button1
    ShellExecute("dfrg.msc")
    Case $Button2
    ShellExecute("cleanmgr.exe")
    Case $Button3
    ShellExecute("rstrui.exe")
    Case $Button4
    ShellExecute("msinfo32.exe")
    Case $Button5
    ShellExecute("charmap.exe")
    EndSwitch
    WEnd
    ; Ende

    [/autoit]