Главная страница
    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.041 c
4-1168967709
z80maniac
2007-01-16 20:15
2007.06.24
Диспетчер устройств


15-1180434701
Dmitriy O..
2007-05-29 14:31
2007.06.24
Желающим совместно со мной разрабатывать перспективный проект


15-1180093377
DVM
2007-05-25 15:42
2007.06.24
Есть ли хорошие готовые компоненты для SIP телефонии?


2-1180547867
aidyn
2007-05-30 21:57
2007.06.24
Как загрузить текстовый файл в Delphi?


8-1160133927
Korneley
2006-10-06 15:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский