AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

System Icon zu Dateityp ermitteln

Ein Thema von dataspider · begonnen am 8. Feb 2018 · letzter Beitrag vom 9. Feb 2018
Antwort Antwort
Benutzerbild von dataspider
dataspider
Online

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#1

System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 09:57
Hallo

Zur Anzeige von Dateien (Icon) im ListView benutze ich bereits TSHFileInfo.
Das funktioniert, sofern die Datei auf Platte gespeichert ist.
Jetzt habe ich aber nur den Dateinamen, noch nicht die Datei.

Ich hätte also gern zur Erweiterung das Icon.

Ich möchte auch nicht die Datei auf Platte speichern.
Es geht um einen Import von .eml - Dateien.
Ich hole aus der eml erst mal nur die nötigsten Informationen zur Anzeige in einer Grid.
Dafür jetzt sämtliche Anlagen noch irgendwo "zwischen zu speichern" find ich blöd...
Outlook kann das z.B.

Gibt es da eine Lösung?


Frank
Frank Reim
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 10:02
In der Registry solltest du anhand der Dateiendung rausfinden können, welches Icon hier vom System benutzt wird.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.050 Beiträge
 
Delphi 2009 Professional
 
#3

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 10:04
Die Informationen zu den Icons stehen in HKCR, da kann man sie auslesen. Dort steht dann so etwas wie:
.docx -> "" = Word.Document.12
Word.Document.12\DefaultIcon -> "" = C:\Windows\Installer\{90140000-003D-0000-0000-0000000FF1CE}\wordicon.exe,13
Also muss man das 14. Icon aus der Datei C:\Windows\Installer\{90140000-003D-0000-0000-0000000FF1CE}\wordicon.exe laden.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#4

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 10:18
Du meinst mit SHGetFileInfo? In der Hilfe steht dazu:
Zitat:
If the uFlags parameter includes the SHGFI_USEFILEATTRIBUTES flag, this parameter does not have to be a valid file name. The function will proceed as if the file exists with the specified name and with the file attributes passed in the dwFileAttributes parameter. This allows you to obtain information about a file type by passing just the extension for pszPath and passing FILE_ATTRIBUTE_NORMAL in dwFileAttributes.
Direkt die Registry auslesen sollte nur ein absoluter Notbehelf sein.
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider
Online

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 11:02
Du meinst mit SHGetFileInfo? In der Hilfe steht dazu:
Zitat:
If the uFlags parameter includes the SHGFI_USEFILEATTRIBUTES flag, this parameter does not have to be a valid file name. The function will proceed as if the file exists with the specified name and with the file attributes passed in the dwFileAttributes parameter. This allows you to obtain information about a file type by passing just the extension for pszPath and passing FILE_ATTRIBUTE_NORMAL in dwFileAttributes.
Direkt die Registry auslesen sollte nur ein absoluter Notbehelf sein.
Danke!
Habe es soeben umgesetzt und es funktioniert!

Frank
Frank Reim
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#6

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 20:30
Es gibt auch noch MSDN-Library durchsuchenExtractAssociatedIcon. Bei beiden Funktionen ist hinterher DestroyIcon zu rufen, um das Icon wieder wegzuräumen.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#7

AW: System Icon zu Dateityp ermitteln

  Alt 8. Feb 2018, 22:16
Im Demoverzeichnis von Delphi gibt es seit Jahrzehnten ein Beispiel für einen kleinen FileExplorer und da kann man sich auch das mit den Icons abschauen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: System Icon zu Dateityp ermitteln

  Alt 9. Feb 2018, 18:40
Im Demoverzeichnis von Delphi gibt es seit Jahrzehnten ein Beispiel für einen kleinen FileExplorer und da kann man sich auch das mit den Icons abschauen.
Kannst du oder jemand anders mal testen ob das auch dann funktioniert wenn es sich um Icons mit Custom Overlay handelt? Zum Beispiel wenn man ein TortoiseSVN installiert hat und im lokalen Repo abweichende Icons für Ordner angezeigt werden. Ich bin schon im WE, interessieren tuts mich aber grad weil ich an einem ähnlichen Problem hänge.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#9

AW: System Icon zu Dateityp ermitteln

  Alt 9. Feb 2018, 19:21
@Codehunter:
IIRC gibt es im Tortoise eine Option, die Overlays nur im Explorer zu zeigen. Daher tauchte die Frage, warum dessen Icons im Total Commander nicht sichtbar sind, schon häufiger im TC-Forum auf. Das wird bei selbstgeschriebenen Programmen nicht anders sein. Unabhängig davon bin ich nicht sicher, ob Overlays nicht generell separat behandelt werden müssen - andererseits gibt's für SHGetFileInfo das Flag SHGFI_ADDOVERLAYS.

Grüße
Dalai
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz