Главная страница
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.015 c
1-29417
snake1977
2004-02-02 08:24
2004.02.10
Закрытие MDIChild


3-29212
Silver_
2004-01-19 11:09
2004.02.10
FreeReport - Как напечатать пустых строк


14-29524
гогениус
2004-01-21 19:42
2004.02.10
Нужна ваша помощь


3-29218
DimaF
2004-01-20 07:22
2004.02.10
Переводчик в InterBase


3-29258
NoName
2004-01-18 15:59
2004.02.10
Перемещение по Gridu