2011-12-06 21 views
2

可能重复:
How to associate a file extension to the current executable in C#打开一个文件,一个.net应用程序会识别它?

我不知道究竟如何调用这个问题。

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

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

无论何时,用户打开文件的扩展名“XYZ”那么.NET应用程序将被打开。我怎样才能做到这一点?

在此先感谢。

回答

2

文件关联可以在Windows文件夹选项中手动创建。 This article介绍了如何使用注册表文件做编程,例如:

  • 创建于HKEY_CLASSES_ROOT您的文件扩展名命名.xyz字符串键。

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

  • 创建字符串键HKEY_CLASSES_ROOT\XyzDocument\open\shell\command

  • 将其值设置为"path\to\your\program" "%1"或类似的,根据您的需要。

你也可以做它从一个批处理脚本ftypeassoc

ftype XyzDocument="path\to\your\program" "%1" 
assoc .xyz=XyzDocument 
0

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

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

请参阅Microsoft的this How to

0

如果我没有弄错,你想注册一个文件类型与你的应用程序。您可以通过右键单击该类型的文件,选择Open with,然后选择您的应用程序。

编辑 根据您的意见,devn,我看到你想在安装时做到这一点。既然如此,你可以使用WiX来完成这个工作,比如here

+0

但我想自动执行。让我们假设一个mp3文件,当我点击它时,winamp将被打开。我不知道我是否可以在.NET安装过程中执行此操作? – olidev

1

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

0

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

注意:其他人已经发布了关于如何手动执行此操作的文章,但我认为您提到的使用意味着您想在安装期间执行此操作。

相关问题