Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
Delphi 2009 Professional
|
20. Jun 2003, 07:56
Hallo,
folgende Methode liefert mir unter Win200 immer das richtige ICON.
Delphi-Quellcode:
procedure GetAssociatedIconEx( const Filename : String; Icon : TIcon);
var
SHFileInfo: TSHFileInfo;
begin
// CoInitialize has to be called before SHGetFileInfo (done by Delphi)
FillChar(SHFileInfo, SizeOf(TSHFileInfo), 0);
if (SHGetFileInfo(PChar(Filename), FILE_ATTRIBUTE_NORMAL, SHFileInfo,
SizeOf(TSHFileInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON) <> 0) then
// or SHGFI_LARGEICON, SHGFI_LINKOVERLAY, SHGFI_OPENICON, SHGFI_SELECTED
try
// get it
Icon.Handle := CopyIcon(SHFileInfo.hIcon);
finally
// you are responsible for destroying the icon handle
DestroyIcon(SHFileInfo.hIcon);
end;
end;
Quelle: Nico Bendlin
|
|
Zitat
|