Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#4

AW: Funktion ob Dateityp änderbares Symbol hat?

  Alt 17. Mär 2014, 06:39
Dafür kannst du z.B. über SHGetFileInfo mit SHGFI_ICON das Icon abfragen:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
SHGetFileInfo kenne ich, auch wenn ich es nicht sonderlich gut kenne. Ich weiß zwar nicht ganz genau was du meinst, aber iIcon liefert eine Indexnummer, die nur ein mal pro Symbol vorkommt. Im Grunde würde das reichen, denn daran kann man ein Icon erkennen, wenn du das meintest.

Trotzdem, so 100% weiß icch nicht was die Nummer zu bedeuten hat.

Zumindest habe ich ein Testcode geschrieben der nun mit 160 Symbolen auskommt, statt mit über 2700 im Windows\Sytem32 Ordner.

Was ich aber plötzlich habe, das ist eine EOutOfResources Meldung. Und das kommt etwas hier, wenn ich das Verzeichniss zum dritten Mal aufrufe:
Delphi-Quellcode:
  ImageList.Clear;
  Icon := TIcon.Create;
  try
    Icon.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Icon_1.ico');
    ImageList.AddIcon(Icon)
  finally
    Icon.Free;
  end;
Ist zwar nur Testcode, aber trotzdem. Bei AddIcon kommt irgendwann die Meldung. Das Icon Icon_1.ico ist nur ein Patzhalter, d. h. die Dateien bekommen zuerst dieses Symbol zugeweisen, damit sie sich die Liste schnell aufbauen kann, und erst im zweiten Durchgang wird das Icon wirklich gelesen.

Ich kann mir das sparen (alles ab der zweiten Zeile), dann bekomme ich zwar keine Fehlermeldung, aber SHGetFileInfo liefert dann irgendwann keine Icons mehr.
  Mit Zitat antworten Zitat