![]() |
Re: Extrahieren von ICON von BELIEBIGER Datei?
Zitat:
|
Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?
Delphi-Quellcode:
Die Funktion gibt das Icon-Handle von jeder beliebigen Datei zurück - wenn die Datei keines besitzt, wird eben das Standard-Windows-Icon geholt. Läuft bei mir auf D2009, sollte aber auch auf anderen laufen ...
uses ShellAPI, Math;
function GetFileIcon(AFileName: String; ASmall: Boolean = True; AIndex: Integer = 0): HIcon; var LDummy: HIcon; LInfo: TSHFileInfo; begin LDummy := 0; If ExtractIconEx(PChar(AFileName), -1, LDummy, LDummy, 0) <> 0 then begin If ASmall then ExtractIconEx(PChar(AFileName), AIndex, LDummy, Result, 1) else ExtractIconEx(PChar(AFileName), AIndex, Result, LDummy, 1); end else begin SHGetFileInfo(PChar(SysUtils.ExtractFileExt(AFileName)), FILE_ATTRIBUTE_NORMAL, LInfo, SizeOf(TSHFileInfo), IfThen(ASmall, SHGFI_SMALLICON, SHGFI_LARGEICON) or SHGFI_ICON or SHGFI_USEFILEATTRIBUTES); Result := LInfo.HIcon; end; end; Wenn ASmall true ist gibt es an, dass kleine Icons geholt werden (16x16), bei false große (32x32). Warum Windows das so komisch macht und man keine Chance hat an evtl. vorhandene andere Größen ran zu kommen weiß ich net :gruebel: Ich hoffe das läuft und ist das, was du wolltest :wink: PS: Die Unit Math kann raus, wenn man das "IfThen" umgeht. |
Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?
Zitat:
Ich kann den Code leider erst heute abend ausprobieren. (bin an der arbeit...) Ich melde mich dann aber wenn ich es damit geschafft habe :-P :dp: |
Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?
ich glaub zwar, das das hier im Grunde das gleiche ist:
![]() Allerdings handelt es sich hierbei um eine TImageList, die man doch recht simpel verwenden kann (wenn so was gefragt wird) Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz