Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Извлечь иконку по расширению   Найти похожие ветки 

 
Navi ©   (2004-03-28 11:00) [0]

Уважаемые мастера!
Мне необходимо извлечь иконку и имя ассоциированного приложения, имея только расширение файла, т.е. ф-я ExtractAssociatedIcon не подходит. Как это можно сделать?
Спасибо.


 
Юрий Федоров ©   (2004-03-28 11:21) [1]

function GetShellFileIcon(const FileName : string)  : HICON;
var SYSIL : THandle;
   SFI : TSHFileInfo;
begin
 Result:=0;
 FillChar(SFI, SizeOf(SFI), 0);
 SysIL := SHGetFileInfo(PChar(FileName), 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
 if SysIL <> 0
   then Result:=ImageList_GetIcon(SysIL, SFI.iIcon, 0)
   else RaiseLastOSError;

end;


 
Navi ©   (2004-03-30 20:40) [2]

Да не работает это только по расширению. Может я не то спросил - мне недо иконки всех зарегиситированных типов.


 
TUser ©   (2004-03-30 21:02) [3]

Тогда надо пробежаться по всем ключам из HKCR/.... Точнее - не по всем, а по тем, которые описывают зарегистрированные типы файлов.


 
Dimaxx ©   (2004-03-30 22:29) [4]

Используйте ExtractAssociatedIcon из Shellapi - возвращает HIcon.


 
Dimaxx ©   (2004-03-30 22:30) [5]

Не до конца прочитал, сорри...


 
Navi ©   (2004-04-03 20:12) [6]

TUser - а как по ним пробежаться-то (В TRegistry не нашел как узнать кол-во "записей" у ключа)



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
1-1084176269
BillyJeans
2004-05-10 12:04
2004.05.23
как определить какая из клавиш мышки нажата над TMenuItem?


1-1083061938
27-27-41
2004-04-27 14:32
2004.05.23
Перевод string в char


4-1081280247
anod
2004-04-06 23:37
2004.05.23
Обновление меню


14-1083688436
C_R_U_S_H
2004-05-04 20:33
2004.05.23
Приложение Ns.exe грузит центральный процессор на 100%


7-1081772922
bigsnake
2004-04-12 16:28
2004.05.23
Кракозяблы в справке