用应用程序打开文件

时间:2014-10-07 22:36:49

标签: c# xml wpf file-association

我有.xml文件来存储我的应用程序中的数据。

现在我想点击.xml文件 - >使用从.xml文件加载的数据启动我的应用程序。

是什么让应用程序运行xml解析方法?

我不知道如何做到这一点,当我用我的应用程序打开.xml文件时会发生什么? Windows是否使用.xml文件路径获取应用程序某种参数?另外WPF似乎没有Main()方法,它通常处理这些参数。

知道该怎么做吗?

3 个答案:

答案 0 :(得分:0)

首先,您无法通过单击xml文件来运行应用程序。你会做的是通过按钮点击或通过文件阅读器或流阅读器读取xml文件的任何事件调用一些方法,并获取这些内容并拥有xmldocument doc = new xmldocument()。然后是doc.LoadXml(filecontents)。然后,您可以使用内置的C#.NET方法解析文档,例如doc.SelectSingleNode(节点名称)。

答案 1 :(得分:0)

如果您正在尝试找出与特定文件扩展名相关联的程序,那么有两种方法可以以编程方式执行此操作。第一种方法是执行名为FindExecutable的Win32方法。 DllImport看起来像这样:

[DllImport("shell32.dll")]
static extern int FindExecutable(string lpFile, string lpDirectory, [Out] StringBuilder lpResult);

第二种方法是查看注册表。要找出双击XML文件的应用程序将会打开,您可以查看HKEY_CLASSES_ROOT\.xml。然后,您按照shell/open/command的条目进行操作。这将为您提供打开文件的应用程序名称和路径。

答案 2 :(得分:0)

所以这就是我所做的:

当我用我的应用程序打开它时,我创建了自己的文件扩展名.xxx(里面只有普通的xml)我使用

检查启动窗口的构造函数中的参数计数

Environment.GetCommandLineArgs()

如果计数> 1我得到第二个参数,它是带有文件绝对路径的字符串。然后我将字符串提取到处理文件打开的方法。