我正在设计一种新的编程语言,我想让我的用户在输出的二进制文件中嵌入一个自定义图标,这不是标准的 EXE 文件。
EXE 文件允许自定义图标(并非所有 .EXE 文件都使用相同的图标)。我怎样才能用我自己的二进制文件做到这一点?
如果要为具有相同扩展名的文件提供不同的图标,则需要注册一个 Icon Handler shell 扩展名。有关详细信息,请参阅MSDN 中的此页面。
您的处理程序需要知道如何从文件中提取图标并将其返回给资源管理器。
这些说明应该有助于:
http://msdn.microsoft.com/en-us/library/windows/desktop/hh127427%28v=vs.85%29.aspx
本质上,在 HKEY_CLASSES_ROOT 中为您的扩展程序创建注册表项(按照其他示例或该链接)以指定图标,并SHChangeNotify()
使用SHCNE_ASSOCCHANGED
.
这个答案涵盖了 C++ 中的注册表更改: