Entwickler-Ecke
Open Source Projekte - Ordner stylen mit dem Desktop.ini Maker
DaKirsche - Sa 17.11.07 16:17
Titel: Ordner stylen mit dem Desktop.ini Maker
Hallo,
hier stelle ich mein Tool vor, mit dem man die Datei "Desktop.ini" erstellen kann.
Habe es bereits in der Version 1.x unter Freeware veröffentlicht gehabt, jedoch hat sich das Programm inklusive GUI verändert und ist nun unter der GPL verfügbar.
Die Vorgängerversion findet Ihr
hier [
http://www.delphi-forum.de/viewtopic.php?t=59855&highlight=desktop+ini].
Nun aber zur Version 2.1.2 :
Die neue Version bietet neben dem offenen Quelltext, ein neues GUI und eine übersichtlichere Bedienbareit.
Außerdem können die Desktop.ini Files auch wieder über das Programm gelöscht werden...
...Naja...eigentlich macht es noch nicht viel mehr als die Vorgängerversion, aber ich würde trotzdem gerne eure Meinung hören und bin über Verbesserungsvorschläge sehr dankbar...
Es ist keine Installation notwendig...über das Programm kann unter "Optionen" ein Kontextmenüeintrag für Verzeichnisse hinzugefügt werden.
Folgende Möglichkeiten bietet das Tool:
- Ordnersymbole ändern
- Odnerhintergründe festlegen
- Textfarbe festlegen
- Desktop.ini Dateien löschen
- Vorlagen erstellen
- Vorschau direkt im Programm
Mitgeliefert werden sowohl eine Menge an Symbolen, als auch ein paar Hintergrundbilder.
Verwendetwerden können jedoch alle *.ico, *.jpg, *.jpeg und *.bmp Dateien vom Rechner.
Würde mich über Feedback freuen...
Seit gestern habe ich Version 2.2.9 draussen...
Download über meine Webseite:
Desktop.ini Maker 2.2.9 [
http://www.dakirsche-online.de/index.php?Aktion=MoreInfos&&Programmname=DesktopIniMaker2]
Jetzt werden die Symbole im DLL-Browser gehighlightet, wenn es ausgewählt ist.
Außerdem werden nun ICL-Dateien unterstützt.
--> Weitere >60 Symbole mit dabei!
Version 2.3.3
Download [
http://www.dakirsche-online.de/downloads/dateien/desktopinimaker2/DesktopIni2.exe]
Neu in dieser Version ist, dass die Farbauswahl nicht weiter via Radiogroup, sondern mit Hilfe des ColorDialogs --> Mehr als 6 Farben möglich ;)
MFG
DaKirsche
//Edit: Downloads aktualisiert
//Edit: Version aktualisiert --> Link eingebunden
Yogu - Mo 19.11.07 18:52
Erst mal ist das Programm wirklich toll. Es hat mir mein Dateisystem viel übersichtlicher gemacht. Aber ein Nachteil hat das ganze Teil: Es erkennt keine Ressourcen-Dateien (*.exe; *.dll). Es wäre noch schön, wenn das noch hinzugefügt werden würde.
DaKirsche - Mo 19.11.07 20:11
Danke...setze mich gleich mal ran;)
DaKirsche - Fr 23.11.07 17:19
So...nun ist die Version 2.2.1 draussen uns steht bereit zum Testen, Testen, Testen ;)
In der Version 2.2.1 wird im Gegensatz zur Version 2.1.2 nun auch das Laden von Symbolen aus DLL-Dateien unterstützt.
Bitte ausgiebig alles testen und Feedback geben....
Danke!
Den Download findet Ihr im ersten Beitrag...
MFG
DaKirsche
Yogu - Fr 23.11.07 21:15
Die Fehlermeldung, dass die .dll-Datei nicht unterstützt wird, kommt immer noch. Außerdem noch zwei weitere Punkte:
- Durchsuchen-Ordner fängt immer auf dem Desktop an, schöner wäre es, wenn er beim eingegebenen Ordner anfangen würde
- Ein Standardordner sieht bei mir irgendwie so aus, als ob da etwas gewaltig schief gelaufen wäre. Ich hänge ihn mal an.
Wäre schön, wenn du diese Punkte noch beheben würdest.
DaKirsche - Sa 24.11.07 11:40
Hallo,
bei welcher .dll funktioniert es denn nicht?
Also ich habe es mit der "shell32.dll" aus dem Systemverzeichnis versucht, in der die normalen Windows Symbole gespeichert sind und da funktioniert es einwandfrei.
Habe jedoch gesehen, dass .exe Dateien noch Probleme machen.
Den Ordnerbrowser passe ich gleich mal an... .
Zum Symbol: Also den schwarzen Rand, den du da siehst ist der Schatten vom Ordner.
Ist der schwarze Rand ebenfalls zu sehen, wenn du die Datei erstellen lässt oder nur direkt in der .ico?
Ich werde mal statt der Verwendung der folder.ico auf die shell32.dll verweisen.
Danke für den Hinweis.
MFG
DaKirsche
Yogu - Sa 24.11.07 12:37
Noch ein kleiner Fehler: Wenn ich eine DLL-Datei geöffnet habe, dann aber im Select-Dialog abgebrochen habe, wird das Symbol trotzdem geändert. Wenn ich dann wieder eine neue Datei auswählen will, kommt die Meldung "Komponente mit der Bezeichnung iconimage0 existiert bereits."
Wenn ich einen Ordner auswähle, in dem ich schon von Hand eine DLL-Datei verwendet habe, kommt diese Fehlermeldung, dass DLL nicht unterstützt wird. Vielleicht liegt das daran, dass ich von Hand nicht alle Einstellungen gespeichert habe. (Hintergrund, Schriftfarbe etc. habe ich weggelassen)
DaKirsche - Sa 24.11.07 13:36
Ok...erstmal danke für die Hinweise...
Anbei die aktualisierte Version der EXE und des ICO-Files.
Änderungen
- Fehlermeldung "iconimage0 existiert bereits" behoben (tauchte zumindest bei mir nicht mehr auf)
- Laden von manuell eingetragenen Symboländerungen über "Eigenschaften" des Ordners auch aus DLL
- Default-Ordner-Symbol wird nun aus der Shell32.dll geladen
- folder.ico aus Shell32.dll extrahiert --> Als Notfallsymbl, falls Shell32.dll nicht gefunden
- Fehlermeldung, wenn dll ohne Symbole geöffnet wurde abgestellt --> Messagebox mit Hinweis
- Nun kann zusätzlich ein Info-Tip eingestellt werden (wird bei Mouseover angezeigt)
Yogu hat folgendes geschrieben: |
Wenn ich einen Ordner auswähle, in dem ich schon von Hand eine DLL-Datei verwendet habe, kommt diese Fehlermeldung, dass DLL nicht unterstützt wird. Vielleicht liegt das daran, dass ich von Hand nicht alle Einstellungen gespeichert habe. (Hintergrund, Schriftfarbe etc. habe ich weggelassen) |
Ich weiss gerade nicht, wie du das meinst...könntest du mir die Desktop.ini File mal posten, bzw. den Inhalt?...?
Dann gucke ich mal, ob ich es dann verstehe...
//Edit: Anhang entfernt --> Download über 1. Beitrag möglich
Yogu - Sa 24.11.07 13:42
Super! Es klappt alles, bis auf den klitzekleinen Fehler, dass der Öffen-Dialog immer noch nicht angepasst wird, wenn bereits ein Ordner geöffnet wurde...
DaKirsche - Sa 24.11.07 13:49
Danke...
das Problem beim Ordner-Browser ist, dass ich mit der folenden Funktion arbeite:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| function SelFolderB(Caption: string): String; var bi: TBrowseInfo; lpBuffer: array[0..MAX_PATH+1] of Char; pidlPrograms, pidlBrowse: PItemIDList; begin SHGetSpecialFolderLocation(GetActiveWindow, CSIDL_Desktop, pidlPrograms);
with bi do begin hwndOwner := GetActiveWindow; pidlRoot := pidlPrograms; pszDisplayName := lpBuffer; lpszTitle := PChar(Caption); ulFlags := BIF_RETURNONLYFSDIRS; lpfn := nil; lParam := 0; end;
pidlBrowse := SHBrowseForFolder(bi); if (pidlBrowse <> nil) then if SHGetPathFromIDList(pidlBrowse, lpBuffer) then Result := lpBuffer; end; |
und ich weiss nicht, wie ich aus einem String in dem ein Verzeichnis steht ein PItemIDList mache...
MFG
DaKirsche
gispos - Do 20.12.07 20:39
DaKirsche hat folgendes geschrieben: |
und ich weiss nicht, wie ich aus einem String in dem ein Verzeichnis steht ein PItemIDList mache...
|
Wenn's noch aktuell ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| function DesktopShellFolder: IShellFolder; begin OleCheck(SHGetDesktopFolder(Result)); end;
function GetPathFromIDList(ID: PItemIDList): String; var Path: Array[0..Max_Path] of Char; begin If SHGetPathFromIDList(ID,@Path[0]) then Result:= PChar(@Path[0]) else Result:= ''; end;
function PIDLFromFileName(SF:IShellFolder; Folder: String): PItemIDList; var Eaten:ULONG; Attr:LongWord; begin If Folder= '' then Result:= nil else if SF.ParseDisplayName( 0,nil,StringToOLEStr(PChar(Folder)),Eaten,Result,Attr )<> NOERROR then Result:= nil; end; |
Test Aufruf z.B. so
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); var P: PItemIDList; begin P:= PIDLFromFileName(DesktopShellFolder, 'E:\Ablage'); If Assigned(P) then Caption:= GetPathFromIDList(P); end; |
Gruß gispos
Narses - Do 21.02.08 23:29
Moin!
Bitte aktualisiere dein Programm im ersten Beitrag des Threads und gib einen direkten Downloadlink an, wie es die Regeln für diese Sparte vorsehen. Danke. ;)
cu
Narses
alias5000 - Sa 23.02.08 22:35
Hallo,
eine kleine Zwischenfrage:
Mit welchem Programm hast du dein animiertes Gif im ersten Beitrag erstellt?
Viele Grüße
alias5000
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!