Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Zwei Icons übereinander für eigene Datei-Erweiterung (wie bei einem Link)

  Alt 6. Sep 2016, 08:57
Schön wäre eine Konfigurationslösung. Am liebsten würde ich 1:1 das Icon der normalen Windows-Links übernehmen.
Guckst du unter HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler ... da siehst du, daß für die Shortcuts eine Shellerweiterung verantwortlich ist. In shell32.dll, wenn ich mich recht entsinne, findest du das gewünschte Symbol, welches du selbstverfreilich auch von deiner Erweiterung aus laden kannst. Die Kunst wäre nun, für jede Windows-Version den korrekten Index des Symbols zu finden, da dieser variieren kann.

Für den Fall, daß eine Konfigurationslösung gewünscht ist, könnte ich ohnehin nicht mehr weiterhelfen, da ich nicht weiß wie das geht (wenn es gehen sollte). Shellerweiterungen habe ich hingegen schon geschrieben und gewartet.

Bzw. könnte ich mit einer ShellErweiterung mein Icon pro Datei komplett selbst zeichnen?
Im Endeffekt ja. Falls du TortoiseGit/SVN/Hg benutzt, kannst du dir das live anschauen indem du ein Repository auscheckst und dann eine oder mehrere Dateien veränderst. Das Overlay-Icon sollte sich entsprechend des neuen Status dann ändern.

Besser als die Dokumentation von MSDN finde ich übrigens die Serie von Michael Dunn (am Ende des Artikels geht es jeweils zum Folgeartikel). Allerdings sollte man zumindest genug C++ verstehen um die Konzepte in Delphi zu übertragen.

Achtung: Shellerweiterungen werden für alles mögliche verwendet. Bspw. um einen neuen Namensraum im Dateimanager einzublenden oder eben für Overlay-Icons, aber auch um die Kontextmenüs je nach "Datei" anzupassen. Auch verwenden alternative Dateimanager (also nicht nur Windows Explorer) vielfach Shellerweiterungen. Darauf sollte man Rücksicht nehmen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat