Utilizando la función "ExtractAssociatedIcon" convenientemente es posible obtener el icono asociado a un determinado archivo.
El código fuente que a continuación puedes ver lo escribió Domingo Seoane, un estupendo compañero en el ClubDelphi. ¡Saludos!
Código Delphi
[-]
uses
ShellApi;
procedure TForm1.Button1Click(Sender: TObject);
var
Buffer: array[0..MAX_PATH] of Char;
Icono: TIcon;
Index: Word;
begin
Icono:= TIcon.Create;
try
StrCopy(Buffer,PChar('C:\boot.ini'));
Index:= 0;
Icono.Handle:= ExtractAssociatedIcon(GetModuleHandle(nil),@Buffer,Index);
Canvas.Draw(0,0,Icono);
finally
Icono.Free;
end;
end;