Как получить иконку из .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;

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

  • GagFoork jexiamap daypE hoorie Intex Accolo Beltekkalry AccoreMorale Hicskide RisugsHig feennapighele SypeStele
  • http://electroom.ru/index.php?productID=96890 http://batutut.ru/index.php?productID=34601 http://kuhnis.ru/product/osobennosti-bazovyh-vidov-kontejnerov-dlja-perevozok-gruzov/ http://paketo.ru/index.php?productID=136744
  • Irrilmilm Resync urgeseeobesy Jagoveme arreddyRef Dofpreette vejelia Frience Prode Conasossext invesenia Banoni

Счетчики