我正在努力处理应用程序文档文件的图标 首先,我正在注册文件扩展名:
HKEY_CLASSES_ROOT\.Ext\(default) = AppName
然后我给它一个shell打开命令和一个图标:
HKEY_CLASSES_ROOT\[AppName]\shell\open\command\(default)="path\app.exe"
HKEY_CLASSES_ROOT\[AppName]\DefaultIcon\(default)="path\app.exe",0
图标显示在资源管理器中,但不是原始图标,而是显示在白纸上:
左边是关联文件,右边是可执行文件。
如何设置注册表项以显示原始图标?
答案 0 :(得分:1)
我不知道DefaultIcon
是否支持路径上的引号,除了注册看起来没问题。
写完这些条目后,您应该致电SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
,以便其他应用程序可以自行刷新。
文档图标由shell(GIL_SIMULATEDOC
)生成,当它找不到有效的DefaultIcon
条目但它知道它将使用哪个可执行文件时。如果您在没有注册时使用“打开方式”打开文件类型,则会发生这种情况。
尝试拨打SHChangeNotify
,然后重新启动。如果这不能解决问题,那么您应该在注册表中搜索您的文件扩展名,并将其从Explorers HKCU FileExts
密钥 s 以及您在HKCR中输入的任何“自动”条目中删除。清除shell iconcache可能也有帮助。