Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Как достать значок из программы   Найти похожие ветки 

 
Nucer   (2007-04-25 09:57) [0]

Как достать значок из программы, который отображается в explorer"e?


 
Правильный Вася   (2007-04-25 10:59) [1]

редактором ресурсов


 
homm ©   (2007-04-25 11:04) [2]

> редактором ресурсов

Счас выясниться, что программным путем :)


 
Rial ©   (2007-04-25 11:37) [3]

1. При работе с ехе-файлом извлекай из ресуксов.
Для самого ехе-шника будет отображаться 1я иконка из
всех в нем хранящихся.

2. Если файл не исполняемый, то нужно смотреть,
с какой иконкой он сопоставлен в реестре. Где то тут
недавно отвечал на подобный вопрос...
Только там может использоваться еще и не 1я иконка,
и не только ехе-файла.


 
homm ©   (2007-04-25 12:03) [4]

> Если файл не исполняемый, то нужно смотреть,
> с какой иконкой он сопоставлен в реестре.

AFAIK с реестром нет нужды возиться, есть функция, возвращающая иконку просто поимени.


 
Наиль ©   (2007-04-25 12:05) [5]

ищи на клавиатуре PrintScreen


 
Rial ©   (2007-04-25 12:27) [6]

Может быть. Говорю о том, что пробовал.
Просто тут решается попутно задача и установки этой иконки.


 
webpauk   (2007-04-25 13:29) [7]

procedure TBmp.DrawIconBmp(var BmpTemp: TBitmap; FileName: String);
var
 FileInfo: TShFileInfo;
 ImageList: TImageList;
 ffBmp: TBitmap;
begin
 ffBmp:=TBitmap.Create;

 FillChar(FileInfo, Sizeof(FileInfo), #0);

 ImageList:=TImageList.Create(nil);
 ImageList.ShareImages:=True;
 ImageList.Width:=32;
 ImageList.Height:=32;

 ImageList.Handle:=SHGetFileInfo(PChar(FileName), cIconSize, FileInfo, SIZEOF(FileInfo), cIconSize or SHGFI_SYSICONINDEX);
 ImageList.GetBitmap(FileInfo.iIcon, ffBmp);

 ImageList.Free;

 BmpTemp.Canvas.Draw((BmpTemp.Width-ffBmp.Width) div 2, (BmpTemp.Height-ffBmp.Height) div 2, ffBmp);
end;


 
webpauk   (2007-04-25 13:45) [8]

даже лучше так:

function GetIcon(const FileName: string; const IconType: TIconType = itLarge): TIcon;
var
  FileInfo: TShFileInfo;
  ImageList: TImageList;
  IT: DWORD;
begin
  IT:=SHGFI_SMALLICON;

  Result:=TIcon.Create;

  ImageList:=TImageList.Create(nil);
  ImageList.Height:=16;
  ImageList.Width:=16;
  if (IconType = itLarge) then
  begin
     IT:=SHGFI_LARGEICON;
     ImageList.Height:=32;
     ImageList.Width:=32;
  end;
  FillChar(FileInfo, Sizeof(FileInfo), #0);
  ImageList.ShareImages:=True;
  ImageList.Handle:=SHGetFileInfo(PChar(FileName), IT, FileInfo, SIZEOF(FileInfo), IT or SHGFI_SYSICONINDEX);
  ImageList.GetIcon(FileInfo.iIcon, Result);
  ImageList.Free;
end;


 
{RASkov} ©   (2007-04-25 17:22) [9]

procedure TForm.FormPaint(..);
begin
Canvas.Draw(10, 10, Application.Icon);
end;



Страницы: 1 вся ветка

Текущий архив: 2007.06.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1180327638
Slider007
2007-05-28 08:47
2007.06.24
Установленные пиратские Вин 2000/ХР и лицензия


15-1180332884
Мальчик из песочницы
2007-05-28 10:14
2007.06.24
Уго Чавес отменил вступительные экзамены в вузы


3-1175246867
Slava
2007-03-30 13:27
2007.06.24
DESCRIBE в FibPlus Script


11-1163128856
SKA1997
2006-11-10 06:20
2007.06.24
ALT + TAB


15-1180524116
Andy BitOff
2007-05-30 15:21
2007.06.24
Как вы думаете ...