Главная страница
    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.45 MB
Время: 0.038 c
3-1082983859
Женя
2004-04-26 16:50
2004.05.23
как узнать тип и длину поля tAdoTable


3-1082966607
PFR
2004-04-26 12:03
2004.05.23
Прерывание запроса к DB2 через ADOQuery


4-1080740688
xtz
2004-03-31 17:44
2004.05.23
Ув мастера как по PId узнать скока памяти занимает процесс


4-1080983582
REAL2
2004-04-03 13:13
2004.05.23
Кнопки как в ХР.


1-1084351087
Эльвира
2004-05-12 12:38
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский