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

2024-01-14

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

注意:我希望当应用程序安装在主机上时建立这种关联,而无需用户执行任何操作。


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

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

如果您有应用程序,您也可以通过应用程序的安装项目来完成此操作。这是一easier“新手”之路。使用 Visual Studio 获取安装项目以添加文件关联并设置文件图标的详细信息如下:http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/ http://www.dreamincode.net/forums/topic/58005-file-associations-in-visual-studio/

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

SECOND,您需要让您的应用程序接受命令行参数。打开的文件作为命令行参数传递。您需要处理参数以获取文件路径/名称并打开给定的文件。这里有一个很好的描述和代码:发布版本中的 C# 命令行参数问题 https://stackoverflow.com/questions/728317/c-command-line-arguments-problem-in-release-build/730545#730545

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

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

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

这是一个很好的简单方法,可以解决在安装应用程序时设置文件关联(带有图标)并让应用程序处理这些文件的打开的问题。

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

这个问题已经存在很长时间了,但我希望这对新搜索有用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用户双击关联文件时,如何使应用程序打开? 的相关文章

随机推荐