我希望能够从我的程序中注册我的文件扩展名。(将文件类型与我的程序相关联)
有很多关于此的文章,但据我所知,所讨论的技术(修改注册表)仅适用于 Windows XP。
将文件类型与程序相关联以便它在 XP、Vista 和 Windows 7 下也能工作的最佳方法是什么?(是否有任何工作代码示例?)
ClickOnce 将是一个选项,但这仅在安装时注册文件类型,而我希望能够在运行时注册文件类型。
我希望能够从我的程序中注册我的文件扩展名。(将文件类型与我的程序相关联)
有很多关于此的文章,但据我所知,所讨论的技术(修改注册表)仅适用于 Windows XP。
将文件类型与程序相关联以便它在 XP、Vista 和 Windows 7 下也能工作的最佳方法是什么?(是否有任何工作代码示例?)
ClickOnce 将是一个选项,但这仅在安装时注册文件类型,而我希望能够在运行时注册文件类型。
在 Windows Vista(可能是 Windows 7)中,文件关联发生了变化:如果一个文件已经与某个程序相关联并且您重新关联它,双击该文件将不会使用新程序打开它。相反,该关联被添加到“打开方式”下的列表中。另请参阅有关在 Vista 中注册您的应用程序以进行关联的小讨论(Web 存档,原始链接已消失)。
我不确定改变这一点是否好。但是,这篇文章讨论了您可以使用的注册表中的各种键。但更好的是,这篇 codeproject 文章让您可以在运行时使用代码来关联文件。我不知道它在 Vista+ 上的工作方式是否有所不同。
如果您需要在非管理员场景中添加文件关联,您可以使用本文中描述的用户特定文件关联。查看“用户特定的文件关联”。
就文件关联而言,从 XP 到 Vista/7 只有几个变化,因此大多数 XP 示例应该仍然有效。您唯一应该关心的是 Vista/7 中的“默认程序”设置,该设置在 XP 中不存在并覆盖了其他文件关联注册。