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.

user defined image

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:
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)



user profile iconYogu 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+1of Char;
  pidlPrograms, pidlBrowse: PItemIDList;
begin
  SHGetSpecialFolderLocation(GetActiveWindow, CSIDL_Desktop, pidlPrograms);

  with bi do begin
    hwndOwner := GetActiveWindow;
    pidlRoot := pidlPrograms; //Hier ist das Startverzeichnis
    pszDisplayName := lpBuffer;
    lpszTitle := PChar(Caption);
    ulFlags := BIF_RETURNONLYFSDIRS;
    lpfn := nil;
    lParam := 0;
  end;

  pidlBrowse := SHBrowseForFolder(bi);
  if (pidlBrowse <> nilthen
    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


DaKirsche - Mo 26.11.07 15:16

Für die, denen das GUI nicht verständlich ist:
Handbuch zum Desktop.ini Maker 2 [http://www.dakirsche-online.de/downloads/dateien/desktopinimaker2/Handbuch_Desktopinimaker2.pdf]

MFG
DaKirsche


gispos - Do 20.12.07 20:39

user profile iconDaKirsche 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


DaKirsche - Do 21.02.08 23:02

So..als neue Version:
2.3.3

Neuerungen:

- erweiterte Farbauswahl für Schriftfarben mit ColorDialog statt Radiogroup
- Hervorhebung gewählter Symbole aus Bibliotheken

Download von meiner Webseite möglich, Feedback gerne hier ;)

http://www.dakirsche-online.de/index.php?Aktion=MoreInfos&&Programmname=DesktopIniMaker2&&ref=11

MFG
DaKirsche


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


DaKirsche - Mo 25.02.08 17:12

Hallo alias5000...

...Ich arbeite für Grafiken in der Regel immer mit The Gimp [http://www.gimp.org] (auch für das Gif-Bild) und wenn Flash, dann mit dem Satelco Flash Designer [http://freeware.siebernet.de/flash/index.html].