USB Stick Manager

  • Hallo,

    hiermit könnt ihr euren USB Stick etwas besser verwalten. :thumbup:
    Ich habe viele wichtige Programme drauf und deswegen kommt dies noch Professioneller rüber !
    Hier das Skirpt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    ;------------------------------
    #include <WindowsConstants.au3>
    #include <SendMessage.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    ;------------------------------- -> Die Includes für den Ladebalken!
    ;####################### Balken ##########################
    $Balken = GUICreate("Ladebalken", 545, 25, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW)
    $Progress1 = GUICtrlCreateProgress(0, 0, 545, 25)
    ;~ $hProgress = GUICtrlGetHandle($Progress1)
    ;~ _SendMessage($hProgress, $PBM_SETMARQUEE, True, 10)
    GUISetState(@SW_SHOW)
    ;####################### Balken ##########################
    $Name = IniRead ("StickInfo.ini", "Stick", "Name", "Error")
    If $Name = "Error" Then
    MsgBox (4 ,"Fehler", "Die StickInfo.ini konnte nicht ausgelesen werden! Oder es ist kein Name eingetragen!")
    Exit
    EndIf
    $Username = IniRead ("StickInfo.ini", "Stick", "Nutzername", "Error")
    If $Username = "Error" Then
    MsgBox (4 ,"Fehler", "Die StickInfo.ini konnte nicht ausgelesen werden! Oder es ist kein Name eingetragen!")
    Exit
    EndIf
    While 1
    For $i=10 to 75
    Sleep (150)
    GUICtrlSetData ($Progress1,$i)
    Next
    $bGetBENNE = _GetBENNE()
    For $i=75 to 100
    Sleep (75)
    GUICtrlSetData ($Progress1, $i)
    Next
    ExitLoop
    WEnd
    ;~ $bGetBENNE = _GetBENNE()
    If $bGetBENNE <> False Then
    $Buchstabe = $bGetBENNE&"\"
    GUIDelete ($Balken)
    Else
    MsgBox (1, "Fehler", "Bitte stecken sie den Stick ein! Er wurde nicht erkannt!")
    Exit
    EndIf
    ;##################### Stick Main ##################################
    $StickMain = GUICreate($Username&"s USB Stick!", 625, 443, 323, 241)
    $Label1 = GUICtrlCreateLabel("Kategorie", 168, 32, 298, 94)
    GUICtrlSetFont(-1, 48, 800, 0, "Comic Sans MS")
    $DVD = GUICtrlCreateButton("DVD etc.", 32, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Festplatte = GUICtrlCreateButton("Festplatte", 224, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Internet = GUICtrlCreateButton("Internet", 424, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sicherheit = GUICtrlCreateButton("Sicherheit", 24, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sonstiges = GUICtrlCreateButton("Sonstiges", 224, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Images = GUICtrlCreateButton("Images", 424, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    ;####################################################################
    ;##################### Stick Child ##################################
    $StickChild = GUICreate($Username&"s USB Stick!", 498, 188, 398, 390)
    $Auswahl = GUICtrlCreateCombo("Auswählen!", 136, 40, 241, 25)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetCursor (-1, 0)
    $AuswahlButton = GUICtrlCreateButton("Go!", 264, 88, 177, 73, 0)
    GUICtrlSetFont(-1, 24, 800, 0, "Comic Sans MS")
    $Back = GUICtrlCreateButton("Zurück", 56, 88, 177, 73, 0)
    GUICtrlSetFont(-1, 22, 800, 0, "Comic Sans MS")
    GUISetState(@SW_HIDE)
    ;####################################################################
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Back
    GUISetState (@SW_HIDE, $StickChild)
    GUISetState (@SW_SHOW, $StickMain)
    GUICtrlSetData ($Auswahl, "")
    Case $AuswahlButton
    If GuiCtrlRead($Auswahl) <> "" Then
    ShellExecute($Dir&"\"&GuiCtrlRead($Auswahl))
    EndIF
    Case $GUI_EVENT_CLOSE
    Exit
    Case $DVD
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"DVD etc"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    Case $Festplatte
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"Festplatte"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    Case $Internet
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"Internet"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    Case $Sicherheit
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"Sicherheit"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    Case $Sonstiges
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"Sonstiges"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    Case $Images
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    $Dir = $Buchstabe&"Images"
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf
    EndSwitch
    Sleep (100)
    WEnd
    Func _GetBENNE()
    $aDGD = DriveGetDrive("REMOVABLE")
    For $i = 1 To $aDGD[0]
    If DriveGetLabel($aDGD[$i]) = $Name Then return $aDGD[$i]
    Next
    Return False
    EndFunc

    [/autoit]


    Dann auch noch die StickInfo.ini

    Code
    [Stick] 
    Name= 
    Nutzername=


    Ihr könnt dann alles auf dem USB Stick in folgende Ordner sortieren! ^^


    -DVD etc

    -Festplatte

    -Internet

    -Sicherheit

    -Image

    -Sonstiges


    Danach könnt ihr die Ordner verstecken und der Stick sieht schön leer aus, jedoch kann man mit dem Programm dann ganz einfach seine Ordner verwalten.


    Mfg
    Benne

    :thumbup:

  • Bei mir kommt die Fehlermeldung: "Bitte stecken sie den Stick ein! Er wurde nicht erkannt!"

    Stick ist drinne und von Windows erkannt und das Laufwerk auf dem Arbeitsplatz sichtbar.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • In der Ini musst du bei dem Namen so etwas eingeben:

    Mein Stick heißt: BENNE
    Und dann gibst du bei Name= Den Namen deines Sticks ein^^
    Einer von Kingston heißt z.B Kingston
    Oder so etwas in der Art =P
    Falls du verstehst was ich meine.
    Und bei Nutzername einfach Alina.


    Mfg
    Benne

  • Hallo PokerFace.

    Das Programm läuft nun bzw. startet.

    Ich habe einen Ordner mit dem Namen "Internet" auf dem Stick erstellt und dort eine Exe-Datei rein kopiert um zu testen, aber bei der Auswahl erscheint keine Datei immer ist es leer.
    Was mache ich falsch ?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Also ^^

    Ich habe auf meinem Stick zum Beispiel den Ordner Internet!
    In Internet ist dann ein Ordner Firefox 3.5 und der Ordner Internet Explorer 8

    Das Skript zeigt nur dir Ordner an.
    Dann kann man per GO! den Ordner öffnen :)
    Das ist besonders praktisch, denn dann kann man alle Ordner auf dem Stick Unsichtbar machen und nur per Stick.exe aufrufen.
    Damit habe ich alle meine Ordner besser im Blick ^^
    Ich bin noch am Knobeln, wie ich aus dem Ordner also wie im BSP Firefox 3.5 eine Art Funktion schreibe, der die erste .exe Datei in dem Ordner per ShellExecute ausführt.

    Mit freundlichen Grüßen,

    Benedikt

  • Ja, das funktioniert super.

    Habe noch für das "Stick Main" eine Erweiterung und ich habe statt "Sonstiges" den Menüpunkt in "Anderes" umgenannt, damit die Änderung im "Stick Main" funktioniert. So kann man z. B. nun durch betätigen der des Buchstabens "K" auf der Tastatur (ohne Mausbetätigung) in den Bereich "Kategorie" wechseln. Man muß zwar noch in Zeile 147 aus "Sonstiges" auch "Anderes" machen, aber das ist ja das kleinste Problem.

    Spoiler anzeigen
    [autoit]


    ##################### Stick Main ##################################
    $StickMain = GUICreate($Username&"s USB Stick!", 625, 443, 323, 241)
    $Label1 = GUICtrlCreateLabel("&Kategorie", 168, 32, 298, 94)
    GUICtrlSetFont(-1, 48, 800, 0, "Comic Sans MS")
    $DVD = GUICtrlCreateButton("&DVD etc.", 32, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Festplatte = GUICtrlCreateButton("&Festplatte", 224, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Internet = GUICtrlCreateButton("&Internet", 424, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sicherheit = GUICtrlCreateButton("&Sicherheit", 24, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sonstiges = GUICtrlCreateButton("&Anderes", 224, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Images = GUICtrlCreateButton("&Images", 424, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)

    [/autoit]

    Super gemacht. Eventuell nutze ich es demnächst. Hoffe Du hast nichts gegen die Veränderung. Wenn doch, dann ändere ich es wieder.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi, würde das auch gerne mal testen.
    Ist ne gute Idee sowas.

    Hat sich erledigt, die sendmessage ist in der 3.3 version enthalten.

    lol auch USB-Stick Appli :)
    Glatt noch die Themen verwechselt :)

    Boah eh ich sollte mal bissel mehr an die Luft gehen xD

    Super thx an den Entwickler hiervon !

    MfG Obs

    2 Mal editiert, zuletzt von Observer (28. Mai 2009 um 12:15)

  • Hi, würde das auch gerne mal testen.
    Ist ne gute Idee sowas.

    Nur ein kleines Problem.
    Ich suche gerade verzweifelt nach der sendmessage.au3
    Kann die hier nur leider nirgends finden.
    Könnte ich da mal einen Hinweis zu der datei bekommen ?

    Super thx an den Entwickler hiervon !

    MfG Obs


    Alina, das ist kein Problem ^^

    Solange du es nicht veröffentlichst, also mit der Änderung darfst du das Programm gerne nutzen!


    Und an Obs,

    vielen Dank für das Lob!

    Ich werde dir die Sendmessage.au3 anhängen ^^


    Mit freundlichen Grüßen,

    Benedikt