Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-29326
Yermek
2004-01-25 21:46
2004.02.10
Delphi and Word


9-29186
nobody
2003-07-30 01:40
2004.02.10
collision+opengl+winapi


4-29656
DmitryMN
2003-12-05 16:40
2004.02.10
Галочка в pif-файле


1-29315
Mr. X
2004-01-30 08:51
2004.02.10
CD-ROM


1-29393
Сергей С
2004-02-01 15:58
2004.02.10
ShowModal




   Наверх