我希望能够从我的程序中注册我的文件扩展名。 (将文件类型与我的程序相关联)
有很多关于此的文章,但据我所知,所讨论的技术(摆弄注册表)仅适用于Windows XP。
将文件类型与程序关联以使其在XP,Vista和Windows 7下运行的最佳方法是什么? (有没有工作代码示例?)
ClickOnce是一个选项,但这只是在安装时注册文件类型,而我希望能够在运行时注册文件类型。
答案 0 :(得分:6)
在Windows Vista(可能是Windows 7)中,文件关联已更改:如果文件已与程序关联并重新关联,则双击该文件将无法使用新程序将其打开。相反,关联将添加到“打开方式”下的列表中。另请参阅registering your application for associations in Vista上的这个小讨论(网络档案,原始链接已经消失)。
我不确定改变这个是否好。但是,this post discusses可以使用注册表中的各种键。但更好的是,this codeproject article使您可以在运行时使用代码来关联文件。我不知道它在Vista +上是否有所不同。
答案 1 :(得分:1)
如果需要在非管理方案中添加文件关联,可以使用this article中描述的特定于用户的文件关联。查看“特定于用户的文件关联”。
答案 2 :(得分:0)
就文件关联而言,从XP到Vista / 7只有一些变化,因此XP的大多数示例仍然有效。唯一认为你应该关注的是Vista / 7中的“默认程序”设置在XP中不存在并覆盖其他文件关联注册。