图标(DefaultIcon)显示不同
Icon (DefaultIcon) is displayed differently
我对应用程序文档文件的图标感到困惑。
首先,我正在注册文件扩展名:
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
该图标显示在资源管理器中,但不是原始图标,而是显示在白色上 sheet:
左边是关联文件,右边是可执行文件。
如何设置注册表项以显示原始图标?
我不知道 DefaultIcon
是否支持路径上的引号,除此之外注册看起来还可以。
写入这些条目后,您应该调用 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
以便其他应用程序可以自行刷新。
文档图标由 shell (GIL_SIMULATEDOC
) 在找不到有效的 DefaultIcon
条目但它知道将使用哪个可执行文件时生成。如果您在未注册的情况下使用 "Open With" 打开您的文件类型,就会发生这种情况。
尝试调用 SHChangeNotify
,然后重新启动。如果这不能解决问题,那么您应该在注册表中搜索您的文件扩展名,并将其从 Explorers HKCU FileExts
keys 和您的类型的任何 "auto" 条目中删除在 HKCR 中。清除 shell 图标缓存也可能有所帮助。
我对应用程序文档文件的图标感到困惑。
首先,我正在注册文件扩展名:
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
该图标显示在资源管理器中,但不是原始图标,而是显示在白色上 sheet:
左边是关联文件,右边是可执行文件。
如何设置注册表项以显示原始图标?
我不知道 DefaultIcon
是否支持路径上的引号,除此之外注册看起来还可以。
写入这些条目后,您应该调用 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0)
以便其他应用程序可以自行刷新。
文档图标由 shell (GIL_SIMULATEDOC
) 在找不到有效的 DefaultIcon
条目但它知道将使用哪个可执行文件时生成。如果您在未注册的情况下使用 "Open With" 打开您的文件类型,就会发生这种情况。
尝试调用 SHChangeNotify
,然后重新启动。如果这不能解决问题,那么您应该在注册表中搜索您的文件扩展名,并将其从 Explorers HKCU FileExts
keys 和您的类型的任何 "auto" 条目中删除在 HKCR 中。清除 shell 图标缓存也可能有所帮助。