我有一个WPF应用程序。我将文件扩展名与我的应用相关联。现在我可以通过双击具有此扩展名的文件来打开应用程序。获取用户打开应用程序的文件
我的问题是,我不知道如何获取用户打开的文件。
下不工作:
Environment.GetCommandLineArgs()
只包含与应用程序的名称1元。
private void Application_Startup(object sender, StartupEventArgs e)
{
//e.Args is empty
}
我有一个WPF应用程序。我将文件扩展名与我的应用相关联。现在我可以通过双击具有此扩展名的文件来打开应用程序。获取用户打开应用程序的文件
我的问题是,我不知道如何获取用户打开的文件。
下不工作:
Environment.GetCommandLineArgs()
只包含与应用程序的名称1元。
private void Application_Startup(object sender, StartupEventArgs e)
{
//e.Args is empty
}
我解决了这个问题。我可以得到该文件的方式如下:
fname = AppDomain.CurrentDomain.SetupInformation
.ActivationArguments.ActivationData[0];
Uri uri = new Uri(fname);
fname = uri.LocalPath;
在您启动事件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);
}
}
你可以抓住从它的启动参数文件名的值。您可能还需要检查,因为你有什么应该工作的关联,你应该能够访问你的文件名作为第二PARAM
那不是为我工作,e.Args是空的。我能够以另一种方式获得:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData [0] – jannagy02
你检查[这](https://stackoverflow.com/a/28005158/6611487) –