Главная страница
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.018 c
1-29343
dmk
2004-02-01 17:04
2004.02.10
Callback для метода класса. Реально?


4-29663
Valerik
2003-12-04 22:56
2004.02.10
Как завершить сеанс ms dos


14-29574
Petr V. Abramov
2004-01-19 21:03
2004.02.10
Было бы смешно...


14-29542
Knight
2004-01-20 21:24
2004.02.10
Загружать список пользователей с сервера...


14-29554
Axis_of_Evil
2004-01-22 15:55
2004.02.10
Might&Magic 4