Страница: 1 |
Страница: 1 |
Вопрос: Как получить в ListView иконку расширения файла?
Добавлено: 23.10.05 22:48
Автор вопроса: Pantalone
Не имея этого самого файла.
Иконки каждого типа файлов где-то зарегистрированы, только где и как их оттуда выдрать? В общем задача такая, есть список расширений, нужно узнать их тип и иконку.
Т.е. состряпать окно, аналогичное окну в проводнике в меню: Сервис - Свойства папки - закладка Типы файлов.
Есть алгоритм, но он достает кривые типы и картинки иногда не совпадают.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
HOOLIGAN
Вопросов: 0
Ответов: 1066
Профиль | | #1
Добавлено: 23.10.05 23:50
Создаёшь пустой файл-болванку с нужным расширением: "bla-bla.bla"
Натравливаешь на него ExtractAssociatedIcon и получаешь икону, зарегистрированную для расширения .bla
Удаляешь болванку.
Номер ответа: 2
Автор ответа:
Pantalone
Вопросов: 32
Ответов: 104
Профиль | | #2
Добавлено: 24.10.05 00:30
Это вариант реальный, но "по тупому", а нужно нормально.
Номер ответа: 3
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #3
Добавлено: 24.10.05 00:45
выдрать с
HKEY_CLASSES_ROOT\<тип файла>\DefaultIcon
ну и указать вытащенный путь для LW
Номер ответа: 4
Автор ответа:
Neco
ICQ: 247906854
Вопросов: 133
Ответов: 882
Web-сайт:
Профиль | | #4
Добавлено: 25.10.05 01:50
Картинки не совпадают, т.к. алгоритм не сводится просто к HKEY_CLASSES_ROOT\<тип файла>\DefaultIcon - в реестре есть места и поприоритетнее. У меня дома есть алгоритм для более-менее точного выяснения проги ассоциированной с типом файла - могу пнуть, если надо, вдруг и для иконок сойдёт.