Как получить иконку из .EXE или .DLL файла?

Процесс получения иконок из .EXE, .DLL или .ICO файлов полностью идентичен. Различие только в том, что в .ICO файле может храниться только одна иконка, а в .EXE и .DLL несколько. Для получения иконок из файлов, в модуле ShellAPI, есть функция:

function ExtractIcon(Inst: THandle; FileName: PChar; 
                             IconIndex: Word): HIcon;

где

Inst - указатель на приложение вызвавшее функцию,
FileName - имя файла из которого необходимо получить иконку,
IconIndex - номер необходимой иконки.

Если функция возвращает значение не равное нулю, то в файле есть следующая иконка.

Пример:

В данном примере в компонент Image1 выводится иконка запущенного файла.

USES ShellAPI; 
 
............ 
 
procedure TForm1.FormCreate(Sender: TObject); 
 VAR A: ARRAY [0..78] OF Char; 
 begin 
 
{Получение имени запущенного файла}
 StrPCopy(A, ParamStr(0));
 {Вывод на экран нулевой иконки из файла}
 Image1.Picture.Icon.Handle := ExtractIcon(HInstance, A, 0); 
 
end;

Последние комментарии

  • http://new-rutor.org
  • Производство матрацев. Реализация текстильной продукции https://goo.gl/5WYADp - подушка детская купить оптом - любые объемы, - матрасы высочайшего качества, - самые выгодные цены https://goo.gl/5WYADp - матрацы оптом
  • Норвежский Ламинин от д-ра Эскеланда http://1541.ru в 4 раза Дешевле, чем американский Laminine LPGN. Skype evg7773 Viber +380976131437 Buy The Norwegian LAMININE are 4 times more affordable http://www.getyourboomback.com/#_l_2ps as Laminine by LPGN. Реклама в Интернете. Поисковая оптимизация....

Счетчики