Einzelnen Beitrag anzeigen

chest3rs

Registriert seit: 15. Okt 2006
Ort: Berlin
84 Beiträge
 
Delphi 7 Personal
 
#4

Re: Datei/Ordner/Exe icon ?!?

  Alt 22. Jan 2008, 08:35
Hallo,

ich kenne zwei Funktionen, mit denen man die Icons auslesen kann.

Die Methode verbraucht viel Arbeitsspeicher. Es ist aber möglich, die Symbole für bestimmte Dateitypen zu ermitteln, z.B. '*.bmp'...

Delphi-Quellcode:
function SHGetIconHandle(szIconFile: String; HUGE, SELECTED: BOOL): HICON;
var
  shfi: shFileInfo;
begin
  SHGetFileInfo(PChar(szIconFile), 0, shfi, sizeof(shFileInfo),
    SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON * Ord(not HUGE) or SHGFI_SELECTED * Ord(SELECTED));
  Result := shfi.hIcon;
end;

Mit der nächsten Funktion kann man ein bestimmtes Icon mit Hilfe des Indexes ermitteln.

Delphi-Quellcode:
function ExtractIcon(lpszFile: String; nIconIndex: Integer; HUGE: BOOL): HICON;
var
  bIcon, sIcon: HICON;
begin
  ExtractIconEx(PChar(lpszFile), nIconIndex, bIcon, sIcon, 1);
  if HUGE then
    Result := bIcon
  else
    Result := sIcon;
end;
Gruß
  Mit Zitat antworten Zitat