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

问题描述 投票:2回答:1

如果我知道应用程序/包ID,我如何从应用程序URI获取正常的文件路径?

MS-APPX:///assets/Logo.png MS-APPDATA:///local/Packs/area1.dat

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

c++ winapi windows-10
1个回答
2
投票

有一个解决方法:

您可以使用GetPackagePathByFullName使用PACKAGE_ID获取UWP应用程序安装路径。这条路将是这样的C:\Program Files\WindowsApps\Microsoft.SDKSamples.ListView.CS_1.0.0.0_x64__8wekyb3d8bbwe\

如果你想要资产下的文件路径,路径将是C:\Program Files\WindowsApps\Microsoft.SDKSamples.ListView.CS_1.0.0.0_x64__8wekyb3d8bbwe\Assets\Logo.png

示例代码:

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

更多参考:“Package query API

© www.soinside.com 2019 - 2024. All rights reserved.