如何创建具有不同描述但相同操作的多个 Windows 文件扩展名?

如何创建具有不同描述但相同操作的多个 Windows 文件扩展名?

在 Windows 7 中,是否可以拥有具有唯一描述名称的不同文件扩展名,但所有操作都相同,而无需在 Windows 注册表中重复所有操作(针对每个扩展名)?

作为一个简单的示例,有以下文件扩展名和说明:

File extension: .txt 
Description: "Text File"

File extension: .no
Description: "No Way"

File extension: .yes
Description: "Absolutely"

我所说的“描述”是指 Windows 在 Windows 资源管理器和本机打开/保存对话框中的类型列中显示的描述。

所有三个扩展都有相同的打开、编辑、打印、打印到等上下文菜单命令(操作)。

如果您同意所有扩展的所有描述性名称都相同,那么这很容易实现,但这不是我想要的。

我可以手动编辑 Windows 注册表来完成此操作。

请注意,我希望避免“用户选择”覆盖,但如果这是完成此操作的要求,那就这样吧。

答案1

正常创建文件类型HKLM\SOFTWARE\Classes\my_yes_file,然后创建shell子项作为符号链接指向\MACHINE\SOFTWARE\Classes\txtfile\shell

Windows 通过以下方式支持注册表中的符号链接API但标准工具无法创建它们;你需要第三方软件(如这篇博文)。

搜索 GitHub 发现创建RegSymlink.ps1(一个假装是 PowerShell 脚本的 C# 程序)和链接

答案2

您可以指定一次操作并将其用于多个扩展,每个扩展都保留其自己的其他设置。

您可以为这个常见操作命名,并以该名称存储数据:

HKEY_CLASSES_ROOT
-- myname
---- open
------ command
---- print
------ command

myname您的扩展程序将以这种方式使用:

HKEY_CLASSES_ROOT
-- .txt
---- (Default) is myname
-- .no
---- (Default) is myname

每个扩展可以有自己的其他数据。

相关内容