当用户双击其关联文件时,如何打开应用程序?

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

注意我希望在主机上安装应用程序时进行此关联,而无需用户执行任何操作。

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

你可以以编程方式进行文件关联,这里有一些细节如下所述: http : //www.codeproject.com/KB/dotnet/System_File_Association.aspx

您也可以通过您的安装项目为您的应用程序执行此操作。 对于“新手”来说,这是一条更容易的道路。 有关使用visual studio获取安装项目以添加文件关联以及设置文件图标的详细信息,请访问: http : //www.dreamincode.net/forums/topic/58005-file-associations-in-visual-工作室/

否则,如果您使用InnoSetup,Wix等,那么我想您可以看到这些安装程序为您创建关联的说明。

第二 ,您需要让您的应用程序接受命令行参数。 打开的文件作为命令行参数传递。 您需要处理参数以获取文件路径/名称并打开给定文件。 这里有一个很好的描述代码: 发布版本中的C#命令行参数问题

在您的情况下,您将调用您的定制参数解析方法,而不是显示处理程序forms的MessageBox.Show(s) 。 对于只接受文件名作为参数打开的简单应用程序,这可能很简单

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

您的代码也可以有一个方法,可以从文件中提取您感兴趣的数据字段的值等。

对于在安装应用程序时设置文件关联,使用图标以及让应用程序处理这些文件的打开,这是一个很好的简单方法。

当然,还有很多其他选项,比如运行时文件关联(询问用户是否需要关联),检测“损坏”关联等。

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

看到这个 。 或者,如果您需要API信息。

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

首先,您必须将文件类型扩展与可执行文件相关联。 在Windows上,您可以通过注册表执行此操作(搜索“文件类型关联窗口”)。 在这个问题中,您会发现一些有趣的提示: 文件类型与应用程序的关联(C#) 将扩展与程序相关联的脚本

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

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

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

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