Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вытащить иконки из exe? [D7, Win2k, WinXP]


vv_fran ©   (2010-05-12 16:24:00) 

Как из одного приложения вытащить иконки других приложений тоже написанных на Дельфи? Хочу создать приложение из которых бы запускались бы другие программы. При запуске она из *.ini файла считывала бы проги, которые она будет запускать и строила ТаскБар и иконками этих программ.


SD Software   (2010-05-12 18:41:00) [1]

uses ShlObj, ShellAPI;

procedure GetIcon(Path: String; var Icon: TIcon);
var
 FileInfo: TShFileInfo;
 ImageList: TImageList;
begin
 ImageList := TImageList.Create(nil);
 FillChar(FileInfo, Sizeof(FileInfo), #0);
 ImageList.ShareImages := True;
 ImageList.Handle := SHGetFileInfo(PChar(Path), SFGAO_SHARE, FileInfo, SizeOf(FileInfo), SHGFI_SMALLICON{ - 16x16, SHGFI_LARGEICON - 32x32} or SHGFI_SYSICONINDEX);
 ImageList.GetIcon(FileInfo.iIcon, Icon);
 ImageList.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 TmpIcon: TIcon;
begin
 TmpIcon:= TIcon.Create;
 GetIcon('C:\Windows\system32\calc.exe', TmpIcon);
 Image1.Picture.Icon:= TmpIcon;
 TmpIcon.Free;
end;


vv_fran   (2010-05-12 17:07:00) [2]

ок, спасибо.


tesseract   (2010-05-12 17:05:00) [3]

А есть ли разница? См ExtractIcon.


Наверх

Титульная страница Поиск, карта сайта Написать письмо