Hej "Ironman",
for at udtrække et registreret ikon kan du anvende SHGetFileInfo, der er
defineret i ShellAPI modulet. Følgende funktion kan udtrækker et HICON
(handle til et ikon) ud fra et givent filnavn:
function GetSmallIconHandle(const aFileName : string):HICON;
// Returns the HICON (icon handle) corresponding to the small icon
// associated with aFileName
var
  SFI: TSHFileInfo;
begin
  SHGetFileInfo(PChar(aFileName), 0, SFI, SizeOf(TSHFileInfo), SHGFI_ICON or
SHGFI_SMALLICON);
  Result := SFI.hIcon;
end;
Funktionen trækker 16x16 ikonet ud... for at få 32x32 versionen, anvendes
"SHGFI_LARGEICON" istedet for "SHGFI_SMALLICON". For at få dette handle til
et mere konkret ikon, skal du blot oprette et TIcon object og tildele
handle't til objektet:
var
  HandleSmall : HICON;
  IconSmall : TIcon;
begin
  // Extract the small icon
  HandleSmall := GetSmallIconHandle(aFileName);
  // Initialize the small icon
  IconSmall := TIcon.Create;
  IconSmall.Width := 16; IconSmall.Height := 16;
  IconSmall.Handle := HandleSmall;
Herefter skulle det være en smal sag at få skrevet ikonet ud... håber det
kan bringe dig videre.
Cheers,
Thomas