Здравствуйте.
Тема получения иконок файлов по их типу по просторам инета расписана по шагам.
И я, писав кусок кода отвечающего за выдергивания иконок, думал проблем не будет...
Но не тут то было!
Вроде бы банальный код:
Причем, если вместо SHIL_JUMBO подставить SHIL_SMALL, SHIL_LARGE или SHIL_EXTRALARGE проблем нет!
IImageList во всех случаях заполняется корректно.
CoInitialize и CoInitializeEx пробовал в разных вариациях.
С FileIconInit игрался.
Пишу под Win 7 на VS 2008
Уж не знаю что и делать Помогите...
Здравствуйте, kanfv, Вы писали:
K>Уж не знаю что и делать Помогите...
Дурацкий вопрос: а в разбираемом файле иконки 256х256 есть вообще?
LoadImage(appInst, MAKEINTRESOURCE(id), IMAGE_ICON, 256, 256, LR_DEFAULTCOLOR) — что возвращает?
Тут LoadImage не помощник. Т.к. IImageList содержит иконки всех зарегистрированных файлов
в системе. Одну из иконок я и хочу получить по ее индексу(в моем примере индекс=0)
Здравствуйте, KlugXP, Вы писали:
KXP>Здравствуйте, kanfv, Вы писали:
K>>И я, писав кусок кода отвечающего за выдергивания иконок, думал проблем не будет... KXP>... K>>Пишу под Win 7 на VS 2008
KXP>Проблем и правда не должно быть.
KXP>Для начала — что будет, если в проводнике на рабочем столе выставить размер иконок больше 128x128 (Ctrl+Wheel Up)?
KXP>Что вернет KXP>int count; KXP>hr = p->GetImageCount(&count); ?
KXP>--- KXP>WBR
Выставил размер иконок на максимум. Результат тот же.
GetImageCount возвращает:
— если перед SHGetImageList вызвать FileIconInit(TRUE) count = 517
— если не вызывать FileIconInit или вызвать FileIconInit(FALSE) count = 8
— во всех трех случаях GetIcon = E_FAIL
Здравствуйте, kanfv, Вы писали:
K>Тут LoadImage не помощник. Т.к. IImageList содержит иконки всех зарегистрированных файлов K>в системе. Одну из иконок я и хочу получить по ее индексу(в моем примере индекс=0)
Я к тому, чтобы проверить, что в приложениях, которые содержать эти регистрированные икоки, эти иконки есть нужных размеров.
Спасибо. Скомпилил Ваш пример в Unicode. Интересные результаты:
— в Dubug версии вылетает с ошибкой(!!!)
— в Release версии все нормально отрабатывает. Показывает окно как у Вас.
Что бы это значило...?
Здравствуйте, kanfv, Вы писали:
K>Спасибо. Скомпилил Ваш пример в Unicode. Интересные результаты: K>- в Dubug версии вылетает с ошибкой(!!!) K>- в Release версии все нормально отрабатывает. Показывает окно как у Вас. K>Что бы это значило...?
Здравствуйте, KlugXP, Вы писали:
KXP>Здравствуйте, kanfv, Вы писали:
K>>Спасибо. Скомпилил Ваш пример в Unicode. Интересные результаты: K>>- в Dubug версии вылетает с ошибкой(!!!) K>>- в Release версии все нормально отрабатывает. Показывает окно как у Вас. K>>Что бы это значило...?
KXP>Работало и в Debug и в Release. KXP>На всякий случай тут весь прожект (VS 2005): KXP>http://svn2.xp-dev.com/svn/sh_image_list_test/
KXP>--- KXP>WBR