![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вытащить иконки из 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.