Windows 无法在注册表中设置DefaultIcon

Windows 无法在注册表中设置DefaultIcon,windows,icons,registry,regedit,Windows,Icons,Registry,Regedit,我正在尝试更新Windows注册表,为我的自定义文件扩展名添加一个图标,但迄今为止我没有成功。我当前的版本最接近。不幸的是,我的文件的图标仍然是一个通用的内置Windows图标(见下面的屏幕截图) 此时,我最好的猜测是我的.ICO文件可能有问题。我已经分享了 下面是我正在使用regedit进行的完整注册表更新。如您所见,我还将文件扩展名与执行的.bat文件相关联。这很有效。另外,在Windows资源管理器中显示的类型是PartQuest Archive,这也很好(参见上面的屏幕截图)。唉,图标

我正在尝试更新Windows注册表,为我的自定义文件扩展名添加一个图标,但迄今为止我没有成功。我当前的版本最接近。不幸的是,我的文件的图标仍然是一个通用的内置Windows图标(见下面的屏幕截图)

此时,我最好的猜测是我的
.ICO
文件可能有问题。我已经分享了

下面是我正在使用
regedit
进行的完整注册表更新。如您所见,我还将文件扩展名与执行的
.bat
文件相关联。这很有效。另外,在Windows资源管理器中显示的类型是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专家提供的任何提示都将不胜感激

所以我做了一点逆向工程,根据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"