Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.034 c
14-1083562041
Думкин
2004-05-03 09:27
2004.05.23
С днем рождения! 2 мая


3-1083170401
MicroWorld
2004-04-28 20:40
2004.05.23
Фильтрация данных в IBTabl


9-1074104612
Bortel
2004-01-14 21:23
2004.05.23
Помогите с первой игрой


4-1080839477
Константин
2004-04-01 21:11
2004.05.23
Запуск прогрыммы из Автозапуска


11-1071066173
.::D.e.M.o.N.i.X::.
2003-12-10 17:22
2004.05.23
Что не так в коде???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский