Программирование на Delphi и не только Как получить иконку, ассоциированную с определённым типом файлов? | Программирование на Delphi и не только

Delphi FAQ >> Операционная система

Данная функция, написанная на Delphi, позволяет получить иконку, ассоциированную с определенным типом файлов (такие иконки отображаются, например, в Проводнике).

Uses ShellApi;

function GetAssociatedIcon (const AExtension:String; ASmall: Boolean): HIcon;
var   Info: TSHFileInfo;   Flags: Cardinal;

begin


  if ASmall then
    Flags := SHGFI_ICON or SHGFI_SMALLICON or SHGFI_USEFILEATTRIBUTES
  else
    Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES;   SHGetFileInfo (PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), Flags);   Result := Info.hIcon;

end;

Пример использования (на форме находятся кнопка TButton и диалог открытия файлов TOpenDialog):
procedure TForm1.Button1Click(Sender:TObject);
begin
  if OpenDialog1.Execute then     Form1.Icon.Handle := GetAssociatedIcon(ExtractFileext(Opendialog1.FileName), False);

end;

продвижение сайтов