C# 如何通过单击桌面上的文件启动我的程序并读取文本文件

C# 如何通过单击桌面上的文件启动我的程序并读取文本文件,c#,wpf,vb.net,file,desktop,C#,Wpf,Vb.net,File,Desktop,我有一个程序,可以打开和保存文件,但只能从GUI。 我看到一篇关于此事的帖子,但他需要一些不同的东西,所以我在这里寻求帮助 我希望能够从桌面打开文件,以便将文件中的数据加载到程序中 我设法添加了文件扩展名,但当我从桌面双击文件时,完全不同的窗口打开了我编程的Activision窗口 我在C中使用WPF,但在VB中运行 谁能告诉我我做错了什么? 是否有处理打开文件的事件?这不是您在程序中执行的操作。当有人双击文件时,您需要告诉windows启动您的程序 打开控制面板并导航到程序。 选择默认程序并将

我有一个程序,可以打开和保存文件,但只能从GUI。 我看到一篇关于此事的帖子,但他需要一些不同的东西,所以我在这里寻求帮助

我希望能够从桌面打开文件,以便将文件中的数据加载到程序中

我设法添加了文件扩展名,但当我从桌面双击文件时,完全不同的窗口打开了我编程的Activision窗口

我在C中使用WPF,但在VB中运行

谁能告诉我我做错了什么?
是否有处理打开文件的事件?

这不是您在程序中执行的操作。当有人双击文件时,您需要告诉windows启动您的程序

打开控制面板并导航到程序。 选择默认程序并将文件类型或协议与特定程序关联。 在左侧找到要更改的文件类型并将其高亮显示。 选择右上角的“更改程序”。 从出现的新窗口中选择程序,然后单击“确定”。
然后Windows将启动您的程序,并将其路径作为命令行参数传递给文件。有关如何执行此操作,请参见此问题:

似乎缺少的是实际从文件加载数据。双击关联文件打开程序时,Windows会将该文件的路径作为参数传递

在WPF中,这些参数可以在事件中访问。Args是一个字符串数组,包含传递的所有参数。从文件打开程序时,e.Args[0]应为已打开文件的全名

在启动事件中,您应该根据文件设置程序以所需的方式打开

您可以更改以拾取首先打开的窗口


或者,您也可以从App.xaml文件中删除StartupUri,并使用normal window.ShowDialog方法自己创建窗口实例。这使您能够在启动事件期间访问窗口,并根据文件/参数更改任何属性。

我认为这些行非常完美

打开控制面板并导航到程序。 选择默认程序并将文件类型或协议与特定程序关联。 在左侧找到要更改的文件类型并将其高亮显示。 选择右上角的更改程序。 从出现的新窗口中选择程序,然后单击“确定”。
您需要将扩展绑定到使用…打开的应用程序。。。。然后,您应该使用传递给应用程序的参数来确定是否使用参数启动应用程序。void App_Startupobject sender,StartupEventArgs e{}检查StartupEventArgs显示您的代码。当您说您设法添加了文件扩展名时,您的意思是您设法使其与您的程序关联?然后,当你双击该扩展名的文件时,它确实会打开你的程序,但窗口是错误的?是的,当我双击该文件时,它会打开该程序,但它会打开,就像该程序以前从未打开过一样,我的所有设置数据都不存在。