2017-07-27 65 views
2

我有一個WPF應用程序。我將文件擴展名與我的應用相關聯。現在我可以通過雙擊具有此擴展名的文件來打開應用程序。獲取用戶打開應用程序的文件

我的問題是,我不知道如何獲取用戶打開的文件。

下不工作:

Environment.GetCommandLineArgs()只包含與應用程序的名稱1元。

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
    //e.Args is empty 
} 
+0

你檢查[這](https://stackoverflow.com/a/28005158/6611487) –

回答

0

我解決了這個問題。我可以得到該文件的方式如下:

fname = AppDomain.CurrentDomain.SetupInformation 
     .ActivationArguments.ActivationData[0]; 
Uri uri = new Uri(fname); 
fname = uri.LocalPath; 
2

在您啓動事件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

dubugger-with-resuts

+0

那不是爲我工作,e.Args是空的。我能夠以另一種方式獲得:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData [0] – jannagy02

相關問題