Как получить иконку из .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://devstvennici-porno.ru/
  • Hello. You are not right. I am assured. I can prove it. Write to me in PM, we will communicate. Welcome to my project skjdfbhjhbdhsy44fbdfhjdbfv
  • http://bit.ly/2ILfynJ - Рецепты

Счетчики