Я пытаюсь получить значок из файла .exe, используя следующие API:
SHGetFileInfoW () SHGetImageList () и из полученного таким образом ImageList я прочитал значок, вызвав GetIcon ().
Когда глубина цвета машины установлена на 32 бита, я получаю значок 32-битного цвета. Проблема заключается в том, что когда я меняю глубину цвета аппарата на 24 или 16 бит, я получаю значок цвета 16 бит, и это изображение кажется поврежденным.
Я также проверил список доступных значков в некоторых распространенных приложениях Windows (блокнот, рисование и т. Д.) И некоторых офисных приложениях, ни у одного из которых не было 16-битных или 24-битных цветных значков.
Каков наилучший способ получить правильные значки из исполняемого файла?
Спасибо!