C# 获取用户打开应用程序时使用的文件
我有一个WPF应用程序。我将文件扩展名与我的应用程序关联。现在,我可以通过双击具有此扩展名的文件来打开应用程序 我的问题是,我不知道如何让用户打开文件 以下操作不起作用:C# 获取用户打开应用程序时使用的文件,c#,wpf,C#,Wpf,我有一个WPF应用程序。我将文件扩展名与我的应用程序关联。现在,我可以通过双击具有此扩展名的文件来打开应用程序 我的问题是,我不知道如何让用户打开文件 以下操作不起作用: Environment.GetCommandLineArgs()仅包含1个应用程序名称的元素 private void Application_Startup(object sender, StartupEventArgs e) { //e.Args is empty } 在您的App.xaml.cs中,启动事件的文
Environment.GetCommandLineArgs()
仅包含1个应用程序名称的元素
private void Application_Startup(object sender, StartupEventArgs e)
{
//e.Args is empty
}
在您的App.xaml.cs中,启动事件的文件覆盖处理程序:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
e.Args[0] // here's your file name
base.OnStartup(e);
}
}
您可以从文件名的启动参数中获取文件名的值。您可能还需要检查您的关联,因为您所拥有的应该可以工作,并且您应该能够作为第二个参数访问您的文件名
我解决了这个问题。我可以通过以下方式获取文件:
fname = AppDomain.CurrentDomain.SetupInformation
.ActivationArguments.ActivationData[0];
Uri uri = new Uri(fname);
fname = uri.LocalPath;
您是否检查了不适用于我的,e.Args为空。我可以通过另一种方式获取:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0]