无法在注册表

时间:2015-07-28 19:00:02

标签: windows icons registry regedit

我正在尝试更新Windows注册表以为我的自定义文件扩展名添加图标,到目前为止我还没有成功。我当前的版本最接近this stackoverflow question。不幸的是,我的文件图标仍然是通用的内置Windows图标之一(见下面的截图)。

enter image description here

此时我最好的猜测是我的.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专家的任何提示肯定会受到赞赏!

1 个答案:

答案 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"