Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
11-1162999391
TAHKEP
2006-11-08 18:23
2007.06.24
SelStart всегда равен 0 в KOLListBox


15-1180365582
PHPdeveloper
2007-05-28 19:19
2007.06.24
есть энтузиасты :) ?


15-1179892927
Pazitron_Brain
2007-05-23 08:02
2007.06.24
Про ЖК


15-1180449317
Грициан
2007-05-29 18:35
2007.06.24
Абрамович перестанет спонсировать «Челси»


2-1180603624
sergeyst
2007-05-31 13:27
2007.06.24
обмен сообщениями





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский