Liebe Freunde,
ich möchte ein kleines optisches Gadget in meine Hotfolder-Anwendung einbauen:
Wenn ich Ordner verarbeite, dann liste ich den Ordnerinhalt auf. Nun möchte ich vor jeden Dateinamen auch das zugehörige System-Icon voranstellen.
Hat jemand eine Idee, wie man zu einem Dateinamen (samt vollständigem Pfad) das jeweilige Icon rauskriegt? Eventuell über die win32api und den Datei-Handle?
Danke im voraus
Walter
Datei-Icons darstellen
- DeaD_EyE
- User
- Beiträge: 1232
- Registriert: Sonntag 19. September 2010, 13:45
- Wohnort: Hagen
- Kontaktdaten:
Ein Ansatz wäre das hier:
Was mir aber momentan völlig unklar ist, woher die DefaultIcons kommen.
Nicht alle Datei-Erweiterungen liefern auch etwas zurück. Es fehlt auf jeden Fall noch das Exception handling
und der Fallback zu DefaultIcons (wo auch immer diese zu finden sind)
Das soll nur ein Anstoß in die richtige Richtung sein. Vielleicht kann auch was mit ctypes machen.
Code: Alles auswählen
from winreg import QueryValue, HKEY_CLASSES_ROOT, ExpandEnvironmentStrings
def get_icon(extension):
key = QueryValue(HKEY_CLASSES_ROOT, extension) + '\\DefaultIcon'
result, val = QueryValue(HKEY_CLASSES_ROOT, key).rsplit(',', maxsplit=1)
return ExpandEnvironmentStrings(result)
print(get_icon('.odt'))
Was mir aber momentan völlig unklar ist, woher die DefaultIcons kommen.
Nicht alle Datei-Erweiterungen liefern auch etwas zurück. Es fehlt auf jeden Fall noch das Exception handling
und der Fallback zu DefaultIcons (wo auch immer diese zu finden sind)
Das soll nur ein Anstoß in die richtige Richtung sein. Vielleicht kann auch was mit ctypes machen.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
- __blackjack__
- User
- Beiträge: 14032
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Eventuell wäre auch ExtractAssociatedIconA() eine interessante Funktion an dieser Stelle.
„A life is like a garden. Perfect moments can be had, but not preserved, except in memory. LLAP” — Leonard Nimoy's last tweet.