windows - 无法在注册表中设置 DefaultIcon

标签 windows icons registry regedit

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

enter image description here

在这一点上,我最好的猜测是我的 .ICO 文件可能有问题。我分享了here on Dropbox

这是我使用 regedit 进行的完整注册表更新。如您所见,我还将我的文件扩展名与 .bat 文件相关联以供执行。效果很好。此外,Windows 资源管理器中显示的 TypePartQuest Archive,这也很棒(见上面的屏幕截图)。 las,没有带有图标最后一个条目的骰子。

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"

关于windows - 无法在注册表中设置 DefaultIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31684938/

相关文章:

python - python 解释器中 'enter' 键的替代方案?

c - 如何在 C 中覆盖 Windows 系统函数

css - 我如何调整CSS图标的大小?

windows - 如何使用 .BAT 文件列出隐藏文件?

c++ - 如何将C/C++程序编译成exe格式

html - html和css中的图标栏自定义

Android - 图标未显示在 Google Play(以前称为 Android Market)中

java - 如何从注册表编辑器插入和检索 key

c# - 以编程方式更改 IE 代理后如何单击“确定”按钮

windows - 如何使用 wmic 命令仅从此输出获取设备 ID