Форум: "WinAPI";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизКак по расширению файла получить 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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c