Вы не можете изменить размер наложения. Вместо этого используйте файл значков с несколькими разрешениями , где доступны все необходимые размеры.
Для хорошего примера взгляните на источник TortoiseSVN . Их будет использовать только один файл значков, но если вы откроете его с помощью подходящего инструмента рисования, вы увидите, что этот файл имеет разные размеры.
Обновление
Если вы посмотрите прямо на первый метод, вы получите следующий комментарий:
"Оболочка вызывает IShellIconOverlayIdentifier :: GetOverlayInfo, чтобы запросить
расположение оверлея значка обработчика. Обработчик наложения значков возвращается
имя файла, содержащего оверлейное изображение, и его индекс в
этот файл. Затем командная консоль добавляет наложение значков в список образов системы. "
Вы можете увидеть в строке 129, что он пытается найти путь к нужному файлу из реестра. Просматривая код, вы можете найти значки в Subversion здесь . В строке 165 вы можете видеть, что он берет имя файла из реестра и записывает его обратно в свои параметры out, и, возможно, волшебный флаг, позволяющий окнам решить, какой размер следует извлечь из файла, равен *pdwFlags = ISIOI_ICONFILE;
.