Ordner Verstecken/Wiedersichtbarmachen (Was ist an meinem Script falsch?)

  • Zeile 55... "-H"?


    -H ist korrekt, nur wird die Zeile nie ausgeführt.

    @Davolutiion: Ich habe dass Prgramm daher so abgeändert:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #RequireAdmin
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ;ConsoleWrite(FileGetAttrib ("D:\Programme\AutoIt3\Test\Julien") & @CRLF)
    ;Exit

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

    $Form1 = GUICreate("Folder/File Locker", 410, 140, 192, 124)
    GUISetFont(12, 400, 0, "Comic Sans MS")
    GUISetBkColor(0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("Pfad: ", 8, 8, 47, 27)
    $Input1 = GUICtrlCreateInput("C:\Users\Admin\Desktop\Alles", 64, 8, 289, 31)
    $Button2 = GUICtrlCreateButton("Lock", 8, 48, 185, 49)
    $Button3 = GUICtrlCreateButton("Unlock", 208, 48, 193, 49)
    $Label2 = GUICtrlCreateLabel("Status: ", 128, 104, 62, 27)
    $Label3 = GUICtrlCreateLabel("Locked", 200, 107, 62, 22)
    GUICtrlSetFont(-1, 10, 400, 0, "Comic Sans MS")
    GUISetState(@SW_HIDE)

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

    Abfrage()

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

    Func Abfrage()
    Local $iVersuch = 0
    $pwabfrage = InputBox("Password", "Password eingeben!", "", "*")
    If $pwabfrage = "XXX" Then
    MsgBox(0, "Success", "Erfolgreich eingeloggt!")
    GUISetState(@SW_SHOW)
    Else
    If $iVersuch < 3 Then
    MsgBox(0, "Error", "Error, bitte versuche es erneut!")
    Abfrage()
    Else
    MsgBox(0, "Error", "Error, Pech gehabt!")
    Exit
    EndIf
    EndIf
    EndFunc ;==>Abfrage

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

    While 1
    $msg = GUIGetMsg()
    ;If @error Then Exit GuiGetMsg setzt keinen Errr
    If StringInStr(FileGetAttrib(GUICtrlRead($Input1)), "HD") Then ;<====
    If GUICtrlRead($Label3) <> "Locked" Then GUICtrlSetData($Label3, "Locked") ;<=====
    Else
    If GUICtrlRead($Label3) <> "Unlocked" Then GUICtrlSetData($Label3, "Unlocked") ;<=====
    EndIf
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit ;ExitLoop geht in deinem Fall auch
    Case $Button2
    ConsoleWrite("Vor Lock: " & FileGetAttrib("D:\Programme\AutoIt3\Test\Julien") & @CRLF)
    If StringInStr(FileGetAttrib(GUICtrlRead($Input1)), "HD") Then ;<====
    MsgBox(0, "Locked", "Allready locked!")
    Else
    FileSetAttrib(GUICtrlRead($Input1), "H")
    GUICtrlSetData($Label3, "Locked")
    EndIf
    ConsoleWrite("Nach Lock: " & FileGetAttrib("D:\Programme\AutoIt3\Test\Julien") & @CRLF)
    Case $Button3
    ConsoleWrite("Vor UnLock: " & FileGetAttrib("D:\Programme\AutoIt3\Test\Julien") & @CRLF)
    If StringInStr(FileGetAttrib(GUICtrlRead($Input1)), "HD") Then ;<====
    FileSetAttrib(GUICtrlRead($Input1), "-H")
    GUICtrlSetData($Label3, "Unlocked")
    Else
    MsgBox(0, "Unlocked", "Allready Unlocked")
    EndIf
    ConsoleWrite("Nach UnLock: " & FileGetAttrib("D:\Programme\AutoIt3\Test\Julien") & @CRLF)
    EndSwitch
    WEnd

    [/autoit]

    Die Zeilen mit ConsoleWrite kannst du auskmmentieren, nachdem du verstanden hast warum es nicht ging. Ausserdem habe ich die Anzahl der Versuche Passworteinagbe begrenzt,

    mfg autoBert