C# 文件扩展名文件关联并单击一次

C# 文件扩展名文件关联并单击一次,c#,vb.net,clickonce,file-association,C#,Vb.net,Clickonce,File Association,我想在不更改注册表文件的情况下创建自己的扩展名。我有一个VB.NET项目,我首先想创建自己的扩展名,比如“.abc”。之后,如果有人试图打开此文件时,有任何类似xxxxxx.abc的文件,我希望Windows启动我的项目并打开该文件。上面说不可能的评论有点误导。 如果不更改注册表,这是不可能做到的,但是对于clickonce应用程序,完全可以不用自己编写任何代码 在clickonce应用程序中创建文件关联时,所需信息将写入HKEY_当前用户配置单元,并覆盖在HKEY_本地_计算机级别设置的任何内

我想在不更改注册表文件的情况下创建自己的扩展名。我有一个VB.NET项目,我首先想创建自己的扩展名,比如“.abc”。之后,如果有人试图打开此文件时,有任何类似xxxxxx.abc的文件,我希望Windows启动我的项目并打开该文件。

上面说不可能的评论有点误导。 如果不更改注册表,这是不可能做到的,但是对于clickonce应用程序,完全可以不用自己编写任何代码

在clickonce应用程序中创建文件关联时,所需信息将写入HKEY_当前用户配置单元,并覆盖在HKEY_本地_计算机级别设置的任何内容。卸载应用程序后,文件关联条目也将从HKCU中删除,这意味着从那时起将使用HKLM中已设置的任何关联(如果有)。在这种情况下,您只能基于每个用户覆盖(或设置)文件关联

有关如何设置文件关联的详细信息,请查看以下链接:

  • 堆栈溢出:
  • 堆栈溢出:
请注意,VS2010中还内置了一个对话框来帮助设置:

  • 在解决方案资源管理器中的项目上单击鼠标右键,选择“属性”
  • 选择“发布”选项卡
  • 选择选项按钮
  • 选择文件关联选项

这是不可能的。文件类型信息存储在注册表中。