Joa, ganz nützlich. Das Label kann ich aber auch so im Explorer verändern.
USB CustomiZer - Tool zum einfachen Anpassen eines Datenträgers [Label & Icon zuweisen/ändern]
-
-
Danke für dein Feedback.
Ja, kann man, aber wenn man's im Programm festlegt, kann es im Explorer äußerlich nicht mehr so leicht verändert werden, es wird immer wieder zurückgesetzt.
-
Ist jetzt nicht böse gemeint, aber... wieso ein Tool für etwas benutzen, was ich in 60 Sekunden per Hand machen kann?
Sonst schön gemacht, auch an das Verstecken und Imagekopieren gedachtLg chess
Edit: Denk auch an solche schönen Virenschutzprogramme (*hust hust* Avira *hust hust*) die die Autorun.inf blocken:P
Ich weiß nicht, ob das auch die Designsettings betrifft! -
Hm.... für Faule, Unerfahrene oder unseren EDV-Lehrer^^ Da heißts dann einfach "Unfähig"
Ok, da hast du schon Recht... Aber auf jedenfall reagierst du gut auf Kritik, die du eigentlich nicht bestätigen kannst... Das ist, vorallem in solchen Bereichen, eine sehr gute Eigenschaft!
Nur.... das mit dem Virenprogramm ist halt doof.... siehe edit vom letzten Post.
Lg chess
-
Hi,
ich habe mal die vielen Leerzeilen rausgenommen. Die Includes brauchst Du jetzt nicht mehr und das Icon ist mit in der Exe-Datei enthalten - Aber erst nach dem Compielen.Schau Dir mal die Macros genauer an, da ist noch einiges möglich (@GUI_CtrlId).
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=refresh.ico
#AutoIt3Wrapper_Outfile=USBCustomizer.exe
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Res_Field=Original Name|USBCustomizer
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
Opt("GUIOnEventMode", 1)$ShortName = "USB.CuZ"
[/autoit] [autoit][/autoit] [autoit]
$ProgramName = "USB CustomiZer v0.7b"$mainwindow = GUICreate($ShortName, 170, 190)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent(-3, "close")
$programmenu = GUICtrlCreateMenu("Info")
$aboutitem = GUICtrlCreateMenuItem("About", $programmenu)
GUICtrlSetOnEvent($aboutitem, "about")
GUICtrlCreateLabel("Volume:", 6, 20)
$vol = GUICtrlCreateCombo("", 50, 20, 35, 20)
refresh()
$refresh = GUICtrlCreateButton("", 90, 19, 22, 22, 0x0040)
GUICtrlSetImage($refresh, "USBCustomizer.exe", 0, 0)
GUICtrlSetOnEvent($refresh, "refresh")
GUICtrlSetTip(-1, "Refresh")
GUICtrlCreateLabel("Label:", 15, 50)
$label = GUICtrlCreateInput("", 50, 50, 100, 20)
GUICtrlSetTip($label, "The name of the volume (e.g. ""My Stick""[max. 32 characters])")
GUICtrlCreateLabel("Icon:", 20, 81)
$icon = GUICtrlCreateInput("", 50, 81, 70, 20)
$select = GUICtrlCreateButton("...", 125, 80, 22, 22)
GUICtrlSetOnEvent($select, "_select")
$create = GUICtrlCreateButton("Create label", 50, 130)
GUICtrlSetOnEvent($create, "create")GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While Sleep(100)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>closeFunc about()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(64, "About...", $ProgramName & @CRLF & "by Cyrox [BC]" & @CRLF & @CRLF & "Customizes your USB-Stick.")
EndFunc ;==>aboutFunc refresh()
[/autoit] [autoit][/autoit] [autoit]
$vols = ""
$getvols = DriveGetDrive("REMOVABLE")
GUICtrlSetData($vol, "")
If Not @error And $getvols <> "" Then
For $i = 1 To $getvols[0]
$vols &= StringUpper($getvols[$i]) & "|"
Next
GUICtrlSetData($vol, $vols)
EndIf
EndFunc ;==>refreshFunc _select()
[/autoit] [autoit][/autoit] [autoit]
$selection = FileOpenDialog("Select an icon...", "C:\Users\" & @UserName & "\Pictures", "Icons (*.ico;*.exe)", 1)
GUICtrlSetData($icon, $selection)
EndFunc ;==>_selectFunc create()
[/autoit]
$volume = GUICtrlRead($vol)
$label = GUICtrlRead($label)
$icofile = GUICtrlRead($icon)
If FileExists("" & $volume & "") Then
$doublepoint = ""
ElseIf FileExists("" & $volume & ":") Then
$doublepoint = ":"
EndIf
If FileExists("" & $volume & ":") Or FileExists("" & $volume & "") Then
$fullvol = $volume & $doublepoint
If FileExists("" & $fullvol & "\autorun.inf") Then
FileSetAttrib("" & $fullvol & "\autorun.inf", "-R")
FileDelete("" & $fullvol & "\autorun.inf")
EndIf
If FileExists("" & $fullvol & "\[USBC-Icon].ico") Then
FileSetAttrib("" & $fullvol & "\[USBC-Icon].ico", "-R")
FileDelete("" & $fullvol & "\[USBC-Icon].ico")
EndIf
If FileExists("" & $fullvol & "") Then
FileWrite("" & $fullvol & "\autorun.inf", "[autorun]" & @CRLF & "Label = " & $label & @CRLF & "Icon = [USBC-Icon].ico")
FileSetAttrib("" & $fullvol & "\autorun.inf", "+RSH")
FileCopy("" & $icofile & "", "" & $fullvol & "\[USBC-Icon].ico", 1)
FileSetAttrib("" & $fullvol & "\[USBC-Icon].ico", "+RSH")
MsgBox(64, "USB-L'C", "Successfully created label on " & $fullvol & "")
EndIf
ElseIf $volume <> "" Then
MsgBox(16, "USB-L'C", "Error: The volume """ & $volume & """ doesn't exist.")
EndIf
EndFunc ;==>create
; Ende -
- Offizieller Beitrag
So etwas ist sicher ein nettes Gimmick - aber es untergräbt durch die Nutzung von Autorun auch jedes Sicherheitsdenken. Es ist bei M$ ja leider üblich alle Sicherheitsvorkehrungen deaktiviert zu haben. Das erste nach Neuinstallation (oder Neuerwerb) eines Rechners sollte immer die Deaktivierung von Autorun sein. Zumal spätestens mit Einsatz vernünftiger Sicherheitssoftware eine autorun.inf sowieso geblockt wird (werden sollte).
Ich denke der minimale Mehrwert durch ein eigenes Icon (nur dafür ist die autorun.inf erforderlich) steht im krassen Gegensatz zu den Gefahren die ein derart geöffnetes Medium bietet.
Das Umbenennen kann man problemlos automatisiert vornehmen ohne Nutzung des Autostarts. -
So etwas ist sicher ein nettes Gimmick - aber es untergräbt durch die Nutzung von Autorun auch jedes Sicherheitsdenken. Es ist bei M$ ja leider üblich alle Sicherheitsvorkehrungen deaktiviert zu haben. Das erste nach Neuinstallation (oder Neuerwerb) eines Rechners sollte immer die Deaktivierung von Autorun sein. Zumal spätestens mit Einsatz vernünftiger Sicherheitssoftware eine autorun.inf sowieso geblockt wird (werden sollte).
Ich denke der minimale Mehrwert durch ein eigenes Icon (nur dafür ist die autorun.inf erforderlich) steht im krassen Gegensatz zu den Gefahren die ein derart geöffnetes Medium bietet.
Das Umbenennen kann man problemlos automatisiert vornehmen ohne Nutzung des Autostarts.Ich habe vor langer Zeit auch mal so ein Tool geschrieben und meine, dass man per autorun.inf längere Labels und einige Sonderzeichen mehr verwenden kann, als wenn man es per Explorer umbenennt.
-
Hier mal als Gedankenstütze.
[autoit]
[/autoit][autoit][/autoit][autoit]
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=refresh.ico
;i Hier wird das Haupticon eingetragen
#AutoIt3Wrapper_Outfile=USBCustomizer.exe
;i Hier wird der Programmname eingetragen
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****GUICtrlSetImage($refresh, "USBCustomizer.exe", 0, 0)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
;i Hier wird das icon dem Programm erneut entnommen, Programmname siehe Wrapper!;i Includes einsparen = 0x0040 statt der Variablen
[/autoit]
$refresh = GUICtrlCreateButton("", 90, 19, 22, 22, 0x0040) -
Hi,
[autoit]
hier ein Beispiel, wie weitere Icons eingebunden werden können.
Tipp:
Bei den bereits vorhandene Autorun.inf Dateien würde ich den Nutzer fragen, ob Überschreiben/Löschen oder vorher umbenennen (Autorun.inf.alt).
[/autoit][autoit][/autoit][autoit]
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=iconPLUS.exe
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_Res_Icon_Add=1.ico
#AutoIt3Wrapper_Res_Icon_Add=2.ico
#AutoIt3Wrapper_Res_Icon_Add=3.ico
#AutoIt3Wrapper_Run_Tidy=y
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****#include <ButtonConstants.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>#region - GUI Create
[/autoit][autoit][/autoit][autoit]
GUICreate(' iconPLUS', 400, 400)
$Checkbox = GUICtrlCreateCheckbox("cb", 30, 90, 150, 40, BitOR($BS_ICON, $BS_PUSHLIKE))
GUICtrlSetImage(-1, @ScriptFullPath, -7)
$bnOK = GUICtrlCreateButton("OK", 20, 350, 75, 40, $BS_ICON)
GUICtrlSetImage(-1, @ScriptFullPath, -5)
$bnClose = GUICtrlCreateButton("b", 305, 350, 75, 40, $BS_ICON)
GUICtrlSetImage(-1, @ScriptFullPath, -6)
GUISetState()
#endregion - GUI Create#region - GUI SelectLoop
[/autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE Or $msg = $bnClose
MsgBox(64, " iconPLUS - Example", "Viel Spaß wünscht RR04 !" & @TAB, 3)
Exit
Case $msg = $bnOK
MsgBox(64, " iconPLUS - Example", "OK wurde gedrückt !" & @TAB)
Case $msg = $Checkbox
MsgBox(64, " iconPLUS - Example", "CheckBox wurde gedrückt !" & @TAB)
EndSelect
WEnd
#endregion - GUI SelectLoop -
Habe mal 3 Icons genommen und in 1.ico,2.ico und 3.ico umbenannt und dein Beispiel im selben Ordner kompiliert.
Die Icons sind noch immer nicht in der Exe enthalten und werden nicht auf den Buttons angezeigt...Vielleicht stimmt was mit Aut2Exe bei mir nicht?
Zu deinem Tipp: Gute Idee! Wird in die nächste Version kommen!
-
Ich lege es in den Anhang.
-
Der kompilierte Skript läuft mit Icons, aber wenn ich deinen Skript selbst kompiliere sind wiederum keine Icons da...
Muss ich irgendwas anders einstellen, damit ich auch mit "wrapper" kompilieren kann?
-
@CyRoX,
[autoit]
entweder müssen die Pfade angepasst werden, oder der Ordner "Test" nach Laufwerk C: kopiert werden !
Was von beidem hast Du gemacht ?
[/autoit]
#AutoIt3Wrapper_Res_Icon_Add=C:\Test\1.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Test\2.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Test\3.ico -
In der PC-Zeitschrift "com!" ist unter der obigen Überschrift ein kleiner Artikel zu Deinem Tool (unter Punkt 12 auf der Seite 26 - "USB-Stick Icon zuweisen") veröffentlicht.
-
In der PC-Zeitschrift "com!" ist unter der obigen Überschrift ein kleiner Artikel zu Deinem Tool (unter Punkt 12 auf der Seite 26 - "USB-Stick Icon zuweisen") veröffentlicht.
Jetzt echt? Wie kamen die Redakteure denn daran? Stöbern die auf autoit.de herum? Hätte ich nicht gedacht.
Auf jeden Fall einen herzlichen Glückwunsch von mir! -
Danke, darüber habe ich mich auch sehr gefreut, das wurde mir per Mail zugeteilt.
Hätte ich auch nicht gedacht, dass das ein Magazin veröffentlicht.Habe mal eine neue Version hochgeladen, enthält zwei kleine (kaum nennenswerte) Änderungen:
-Überprüfung auf Schreibrechte jetzt schon bei der Datenträgerauswahl
-Aktuelles Label wird in das Input-Feld eingetragen