如何在 Windows 11 中为特定文件扩展名分配图标?

如何在 Windows 11 中为特定文件扩展名分配图标?

我使用以下 regedit 脚本向 Windows 压缩文件添加了一个新的文件扩展名,并且它运行完美(大部分情况下)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.zab]
@="CompressedFolder"
"Content Type"="application/x-zip-compressed"
"DontCompressInPackage"=""
"PerceivedType"="compressed"

[HKEY_CLASSES_ROOT\.zab\OpenWithProgids]
"CompressedFolder"=""

[HKEY_CLASSES_ROOT\.zab\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

现在我想将 .zab 文件图标更改为与 .zip 图标不同的图标。我尝试使用 DefaultProgramEditor 和 FileTypesMan 程序来更改图标,但这两个程序都会更改 zip 和 zab 文件扩展名,因为它们都是压缩文件类型,也就是说在注册表中共享相同的 progID。

我该如何更改仅 .zab 扩展名的图标?有没有办法将“子程序 ID”添加到压缩文件类型,然后将 .zab 分配给该子类型,然后为其指定一个新图标?

背景故事:我有一些有声读物,我将每本书都压缩并与电子书一起存储。我想使用特定程序打开和播放此特定扩展,而不必每次都提取整本书,但我还希望能够在 Windows 资源管理器中查看压缩文件内部而无需提取。所以是的,我希望 Windows 资源管理器和我用来收听它们的程序将 zip 和 zab 视为压缩文件,但我希望有一个简单的图标来轻松查看 zab 文件。

我已经发现如何在 Windows 10 上更改与特定文件格式(且仅该文件格式)相关的图标?https://learn.microsoft.com/en-us/windows/win32/shell/how-to-assign-a-custom-icon-to-a-file-type?redirectedfrom=MSDN但它们似乎不是我想要的,而且我发现https://www.winhelponline.com/blog/change-default-icon-file-type-windows/“可以更改文件类型的默认图标而不影响其他文件类型。要做到这一点,您需要为文件扩展名创建一个新的文件类或 ProgID,并在新创建的文件类中分配默认图标。”但我不够熟练,无法在没有示例的情况下创建,而且这似乎再次不太合适,因为我想保持文件类相同,以便两者在文件资源管理器中都作为压缩文件运行。

(将所有 .zap 编辑为 .zab,(阅读困难真有趣/讽刺)现在您可能明白为什么我如此坚持 zab 和 zip 使用不同的图标)

答案1

  1. 您的问题反复提到“.zap“文件扩展名,但添加到注册表中的是“.zab“。
  2. 图标是通过间接方式设置的。例如,7-Zip 将图标设置为.7z扩展如下。

图标间接

  • 钥匙.7z有一个(默认)的价值7-Zip.7z
  • 钥匙7-Zip.7z有子键默认图标
  • 该钥匙有一个(默认)指向包含图标的文件及其在资源中的枚举的值。

但是,Windows 可能会也可能不会尊重该图标。如果选择.7z文件并使用探索者,设置默认应用程序以将其打开为记事本,图标为全部 .7z文件更改为记事本

相关内容