打开一个文件,一个.net应用程序会识别它吗?

时间:2011-12-06 18:51:42

标签: .net

  

可能重复:
  How to associate a file extension to the current executable in C#

我不知道如何称呼这个问题。

我正在寻找一个解决方案,例如:当为该应用程序定义的文件样式打开时,我的.net应用程序将自动打开。

例如:该应用程序的文件类型具有扩展名xyz:hellothere.xyz

每当用户打开带有扩展名" xyz"的文件时那个.net应用程序将被打开。我怎样才能做到这一点?

提前致谢。

6 个答案:

答案 0 :(得分:2)

可以在Windows文件夹选项中手动创建文件关联。 This article描述了如何以编程方式执行此操作,例如使用注册表文件:

  • 在名为HKEY_CLASSES_ROOT的{​​{1}}中为您的文件扩展名创建字符串键。

  • 将其值设置为文件类型的名称,例如.xyz

  • 创建字符串键XyzDocument

  • 根据您的需要将其值设置为HKEY_CLASSES_ROOT\XyzDocument\open\shell\command或类似值。

您也可以使用"path\to\your\program" "%1"ftype

的批处理脚本执行此操作
assoc

答案 1 :(得分:1)

您正在寻找的术语是“文件关联”。为您的应用程序创建文件关联的最佳位置是安装程序。确切的过程取决于您使用的安装程序技术。

答案 2 :(得分:0)

这不是编码问题,而是操作系统配置问题。

对于Windows,您需要设置与程序的文件扩展名关联。

请参阅Microsoft的this How to

答案 3 :(得分:0)

答案 4 :(得分:0)

如果我没有记错,你想在你的应用程序中注册一个文件类型。您可以通过右键单击该类型的文件,选择Open with,然后选择您的应用程序来执行此操作。

修改 根据您的评论,devn,我发现您希望在安装时执行此操作。在这种情况下,您可以使用WiX来实现此目的,如here

答案 5 :(得分:0)

您需要在安装期间创建文件关联。有关创建它的演练,请参阅此MSDN article的“创建文件关联”部分,了解如何在安装期间创建该关联。

注意:其他人已经发布了有关如何手动执行此操作的文章,但我认为您提到的用途意味着您希望在安装过程中执行此操作。