Форум: "Основная";
Текущий архив: 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.043 c