Vielleicht hätte ich das in die Code-Library schreiben sollen, aber da ein Demo-Programm dabei ist, poste ichs mal hier.
Ich habe eine kleine Klasse geschrieben, mit der man die Icons eines Dateityps ermitteln kann. Das Tolle daran ist: Icons können gecacht werden, d.h. nach dem ersten Aufruf verbleibt das Icon im Speicher und muss nicht erneut angefordert werden. Wenn man beispielsweise 1000 mal das Icon einer MP3-Datei anzeigen lassen will (als Ordneranzeige), braucht man mit deaktiviertem Caching etwa 2s, mit aktiviertem Caching aber nur etwa 50 ms.
Das ist jetzt natürlich der Idealfall, aber vielleicht kanns ja jemand auch so gebrauchen. Falls ja und es jemand wünscht, soll er Bescheid sagen, dann mach ich noch ne Art Filterliste, um bestimmte Dateiicons vom Caching auszuschließen.
Im Anhang ein Demoprojekt sowie die Klasse als einzelne
Unit.