Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#26
  Alt 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
  Mit Zitat antworten Zitat