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

Вниз

Как по расширению файла получить Handle иконки   Найти похожие ветки 

 
Gilk ©   (2003-12-04 10:13) [0]

Как по расширению файла получить Handle иконки


 
BiN ©   (2003-12-04 10:46) [1]

FAQ


 
Gilk ©   (2003-12-04 11:13) [2]

В FAQ предлагают извлекать иконку из файла
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621978&n=15

А мне надо по расширению (doc, txt, ...)получить от системы ассоциированную иконку!


 
alex_***   (2003-12-04 11:20) [3]

Ассоциированную это значит иконку приложения, ассоциированого и этим файлом - лезть в реестр, выбрать приложение и уже из приложения ExtractIcon.
Или посмотри ExtractAssociatedIcon.


 
DVM ©   (2003-12-04 12:59) [4]

function GetFileAssociatedIcon(FileName: string; bSmall: boolean): HICON;
var
FileInfo: SHFILEINFO;
hImgList: HIMAGELIST;
BIG_OR_SMALL_ICON: integer;
begin
if bSmall then
BIG_OR_SMALL_ICON := SHGFI_SMALLICON
else
BIG_OR_SMALL_ICON := SHGFI_LARGEICON;

hImgList := SHGetFileInfo(PChar(FileName),
FILE_ATTRIBUTE_NORMAL,
FileInfo,
SizeOf(FileInfo),
SHGFI_ICON or BIG_OR_SMALL_ICON or SHGFI_SYSICONINDEX);
Result := FileInfo.hIcon;
end;


 
Gilk ©   (2003-12-04 13:48) [5]

to DVM
У меня нет полного пути до файла (только имя файла и расширение),- а без него не получается


 
BiN ©   (2003-12-04 13:55) [6]

Длинный путь - через реестр
Прямой путь - создаешь временный файл со своим расширением, а затем ExtractAssociatedIcon - но только это не подойдет для ехе и длл


 
SunnyKesha ©   (2003-12-04 14:40) [7]

Вот пример. Сам файл совсем не нужен...


var
shfi: TSHFileInfo;
fext: string;

begin
fext := ".xls";

SHGetFileInfo(PChar("fuck" + fext), FILE_ATTRIBUTE_NORMAL, shfi, sizeof(shfi), SHGFI_ICON or SHGFI_SMALLICON or SHGFI_SHELLICONSIZE or SHGFI_USEFILEATTRIBUTES);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
14-29573
Undert
2004-01-20 00:31
2004.02.10
Работа в Питере!


1-29353
Леприкон
2004-01-29 12:43
2004.02.10
Работа с формой из dll


1-29327
Дракоша
2004-01-29 20:32
2004.02.10
Как присвоить обработчик динамически созданому компоненту


3-29262
Samvel
2004-01-17 13:10
2004.02.10
относительная ссылка


1-29303
Petrovitch
2004-01-30 11:01
2004.02.10
Рус/Lat как переключить в программе?