0

是否支持Windows.NET for Windows應用商店應用 API:是否允許我列出爲執行應用程序定義的文件類型關聯?以編程方式識別Windows Store應用程序中的文件類型關聯?

在我的情況,我有一個Windows應用商店的類庫,我打算從各種Windows應用商店的應用程序引用。理想情況下,我希望能夠在類庫方法中讀取應用程序的已定義文件類型關聯。這可能嗎?

回答

0

迄今爲止,似乎有訪問的Windows商店應用的文件類型關聯沒有內置的方式,但我已經能夠實現一種變通方法由於this博客文章。

顯然,Package.appxmanifest文件被轉換成一個文件AppxManifest.xml被分發與部署應用程序。在許多事情,清單文件包含用戶定義的文件類型關聯的應用程序,就這麼簡單XML查詢可以被用於獲取這些定義:

var document = XDocument.Load("AppxManifest.xml"); 
var xname = XNamespace.Get("http://schemas.microsoft.com/appx/2010/manifest"); 

var fileTypeElements = 
    document.Descendants(xname + "FileTypeAssociation").Descendants().Descendants(); 
var supportedFileExtensions = 
    fileTypeElements.Select(element => element.Value).ToArray(); 

該代碼可以肯定會進一步微調,例如,FileTypeAssociation節點是節點的(深)後裔,其中在同一個清單文件中可以有多個節點。儘管如此,上面的代碼至少應該能夠作爲第一次嘗試的方法。

相關問題