我正在尝试更新Windows注册表以为我的自定义文件扩展名添加图标,到目前为止我还没有成功。我当前的版本最接近this stackoverflow question。不幸的是,我的文件图标仍然是通用的内置Windows图标之一(见下面的截图)。
此时我最好的猜测是我的.ICO
文件可能有问题。我已经分享了它here on Dropbox
以下是我使用regedit
进行的完整注册表更新。如您所见,我还将我的文件扩展名与.bat
文件相关联以供执行。这很好用。此外,Windows资源管理器中显示的 Type 是 PartQuest Archive ,这也很棒(参见上面的屏幕截图)。唉,图标的最后一个条目没有骰子。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\pqunzip]
@="PartQuest Archive"
[HKEY_CLASSES_ROOT\pqunzip\shell]
[HKEY_CLASSES_ROOT\pqunzip\shell\open]
[HKEY_CLASSES_ROOT\pqunzip\shell\open\command]
@="\"C:\\MentorGraphics\\PartQuestTools\\SDD_HOME\\common\\win32\\scripts\\pqunzip.bat\" \"%1\""
[HKEY_CLASSES_ROOT\.pqz]
@="pqunzip"
[HKEY_CLASSES_ROOT\.pqz\DefaultIcon]
@="\"C:\\MentorGraphics\\PartQuestTools\\SDD_HOME\\common\\win32\\config\\decrypted.ico\""
我还尝试在文件名的末尾添加,1
,因为.ICO
文件出现后可能会嵌入两个图标。这没有什么区别。
为了更好地衡量,我在每次更改后都重新启动了。我不确定这是否有必要。
来自Windows专家的任何提示肯定会受到赞赏!
答案 0 :(得分:1)
所以我做了一些逆向工程来找出基于7Zip文件关联的问题。事实证明,DefaultIcon
密钥条目应该是应用程序的子代,而不是文件名。所以在我的情况下,我需要它与pqunzip
而不是.pqz
:
[HKEY_CLASSES_ROOT\pqunzip\DefaultIcon]
@="\"C:\\MentorGraphics\\PartQuestTools\\SDD_HOME\\common\\win32\\config\\decrypted.ico\""
为了最大限度地清晰起见,这是我的.req
文件的整个内容按预期工作:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\pqunzip]
@="PartQuest Archive"
[HKEY_CLASSES_ROOT\pqunzip\shell]
[HKEY_CLASSES_ROOT\pqunzip\shell\open]
[HKEY_CLASSES_ROOT\pqunzip\shell\open\command]
@="\"C:\\MentorGraphics\\PartQuestTools\\SDD_HOME\\common\\win32\\scripts\\pqunzip.bat\" \"%1\""
[HKEY_CLASSES_ROOT\pqunzip\DefaultIcon]
@="\"C:\\MentorGraphics\\PartQuestTools\\SDD_HOME\\common\\win32\\config\\decrypted.ico\""
[HKEY_CLASSES_ROOT\.pqz]
@="pqunzip"