Windows 或 .NET for Windows Store应用 API是否支持:s允许我列出为执行应用定义的文件类型关联?
在我的场景中,我有一个 Windows Store类库,我打算从各种 Windows应用商店应用中引用它。理想情况下,我希望能够在类库方法中读取应用程序的已定义文件类型关联。这可能吗?
答案 0 :(得分: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 节点是 Application 节点的(深层)后代,其中可能有多个一个在同一个清单文件中。尽管如此,上述代码至少应该能够作为第一次尝试的方法。