2009-03-03 83 views
6

我正在创建一个使用特定文件格式作为其数据源的应用程序。我希望此应用程序在用户双击此文件时打开,例如用户双击Word文档时如何打开MS Word。我该如何做到这一点?另外,我将如何使用用户选择的文件填充数据字段。我会使用program.cs类中的args []吗?我正在使用C#来编写此应用程序。如何在用户双击相关文件时打开应用程序?

N.B.我希望在没有用户执行任何操作的情况下在主机上安装应用程序时进行这种关联。

回答

0

我设法解决了这个问题。我使用WIX创建一个安装文件,并要求它在安装时将该文件与应用程序相关联。

0

首先,您必须将文件类型扩展与可执行文件关联。在Windows上,您可以通过注册表执行此操作(搜索“文件类型关联窗口”)。在这个问题中,您会发现一些有趣的提示:Filetype association with application (C#)Script to associate an extension to a program

您的程序必须对命令行参数或参数作出反应。在Java中,它确实是主要方法的字符串数组。我会想,这在C#中是一样的。

1

请参阅this。如果您需要API信息,请致电this

0

如果您不需要以编程方式进行编程,请右键单击图标,单击打开方式...,然后选择“始终使用此程序...”。

+1

他显然希望以编程方式执行此操作。标签是C#,它说他希望与他的安装程序进行关联。 – Brad 2010-09-28 16:56:18

0

这是通常由您的安装程序处理的东西..例如,我已经使用INNO setup,并且在双击/打开关联的文件扩展名时,安排其调整用户注册表以启动您的应用程序非常简单。它甚至会为你处理MIME类型,并在卸载时清除这些东西,这是一件很好的事情。

1

ClickOnce也支持.NET 3.5 SP1以来的文件关联。在该项目的属性中,切换到Publish选项卡并单击Options按钮。该对话框中有一个File Associations部分,允许您指定文件扩展名,描述和自定义图标。

8

FIRST,您需要设置文件关联,以便您的文件类型与您的应用程序相关联,打开文件类型将运行您的应用程序。

你可以做文件关联编程,有一些细节这里提到的: http://www.codeproject.com/KB/dotnet/System_File_Association.aspx

您还可以通过安装项目为你做它的应用程序,如果你有一个。这是一个更容易路径的“新手”。使用Visual Studio来获得安装项目添加文件关联,并详细设定文件的图标的位置: http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/

否则,如果您使用InnoSetup,维克斯等话,我想你可以只看到这些说明安装人员为您创建关联。

SECOND,您需要让您的应用程序接受命令行参数。打开的文件(s)作为命令行参数传递。您需要处理参数以获取文件路径/名称并打开给定的文件。有这样一个很好的描述在这里与代码: C# Command Line arguments problem in Release build

在你的情况,而不是MessageBox.Show(s)在表单处理程序,你会打电话给你定制的参数解析方法。 对于一个简单的应用程序只接受文件名,打开作为参数,这可能是一样简单

foreach (string filePathName in Args) 
       DoNamedFileOpen(filePathName); 

你的代码也可以有可能从文件中提取值你感兴趣的数据域的方法等等

这是一个很好的简单方法来解决在安装应用程序,使用图标和让应用程序处理这些文件打开时设置文件关联的问题。

当然,也有很多其他的选择,比如运行时文件关联(询问用户是否他们想要的关联),检测“破”协会等

这个问题在这里很长一段时间但我希望这对新搜索很有用

相关问题