如何将应用程序URI转换为普通文件路径

How to convert application URI to normal file path?

本文关键字:文件 路径 转换 应用程序 URI      更新时间:2023-10-16

鉴于我知道应用程序/软件包ID?

,如何从应用程序URI获取普通文件路径

ms-appx:///assets/logo.png
ms-appdata:///local/packs/area1.dat

PathCreateFromUrlW显然不起作用。我认为,对于UWP应用程序,有一种残废的方法,可以通过使用IStorageFileStatics::GetFileFromApplicationUriAsync创建存储文件对象的实例,然后调用IStorageItem::get_Path

有解决方法:

您可以使用getPackagePathbyfullname使用package_id获取UWP应用程序安装路径。路径将喜欢此C:Program FilesWindowsAppsMicrosoft.SDKSamples.ListView.CS_1.0.0.0_x64__8wekyb3d8bbwe

如果您想要资产下的文件路径,则路径将为C:Program FilesWindowsAppsMicrosoft.SDKSamples.ListView.CS_1.0.0.0_x64__8wekyb3d8bbweAssetsLogo.png

示例代码:

GetPackagePathByFullName(L"Microsoft.SDKSamples.ListView.CS_1.0.0.0_x64__8wekyb3d8bbwe", &path, buffer);

更多参考:"软件包查询API"