![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как по расширению файла получить Handle иконки [D7]
Gilk © (2003-12-04 10:13:00)
Как по расширению файла получить Handle иконки
SunnyKesha (2003-12-04 14:40:00) [1]
Вот пример. Сам файл совсем не нужен...
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;
BiN (2003-12-04 13:55:00) [2]
Длинный путь - через реестр
Прямой путь - создаешь временный файл со своим расширением, а затем ExtractAssociatedIcon - но только это не подойдет для ехе и длл
Gilk (2003-12-04 13:48:00) [3]
to DVM
У меня нет полного пути до файла (только имя файла и расширение),- а без него не получается
DVM (2003-12-04 12:59:00) [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;
alex_*** (2003-12-04 11:20:00) [5]
Ассоциированную это значит иконку приложения, ассоциированого и этим файлом - лезть в реестр, выбрать приложение и уже из приложения ExtractIcon.
Или посмотри ExtractAssociatedIcon.
Gilk (2003-12-04 11:13:00) [6]В FAQ предлагают извлекать иконку из файла
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988621978&n=15
А мне надо по расширению (doc, txt, ...)получить от системы ассоциированную иконку!
BiN (2003-12-04 10:46:00) [7]
FAQ