Я разрабатываю новый язык программирования и хочу, чтобы мои пользователи вставляли пользовательский значок в выходной двоичный файл, который не является стандартным EXE-файлом.
EXE-файлы допускают использование пользовательских значков (не все .EXE-файлы используют один и тот же значок). Как я могу сделать это с моими собственными двоичными файлами?
Если вы хотите предоставить разные значки для файлов с одинаковым расширением, вам нужно зарегистрировать расширение оболочки Icon Handler. Подробнее см. эта страница в MSDN.
Ваш обработчик должен знать, как извлечь значок из файла и вернуть его в Проводник.
Эти инструкции должны помочь:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh127427%28v=vs.85%29.aspx
По сути, создайте ключ реестра в HKEY_CLASSES_ROOT для своего расширения (следуйте другим примерам или этой ссылке), чтобы указать значок, и вызовите SHChangeNotify()
с SHCNE_ASSOCCHANGED
,
Этот ответ охватывает изменения реестра в C ++: