我使用以下 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 使用不同的图标)