Вопросы и Ответы
21. Как получить иконку из .EXE или .DLL файла?
Процесс получения иконок из .EXE, .DLL или .ICO файлов полностью идентичен. Различие только в том, что в .ICO файле может храниться только одна иконка, а в .EXE и .DLL несколько. Для получения иконок из файлов, в модуле ShellAPI, есть функция:
function ExtractIcon(Inst: THandle; FileName: PChar; IconIndex: Word): HIcon;
где Inst - указатель на
приложение вызвавшее функцию, Если функция возвращает
значение не равное нулю, то в файле есть
следующая иконка. В данном примере в компонент
Image1 выводится иконка запущенного файла. ............ USES ShellAPI; ............ procedure
TForm1.FormCreate(Sender: TObject); {Получение
имени запущенного файла} end;
............
FileName - имя файла из которого необходимо
получить иконку,
IconIndex - номер необходимой иконки.
VAR A: ARRAY [0..78] OF Char;
begin
StrPCopy(A, ParamStr(0));
{Вывод на экран нулевой иконки
из файла}
Image1.Picture.Icon.Handle := ExtractIcon(HInstance, A,
0);
...предыдущая страница следующая...
оглавление