我有一個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) –