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

C++ 如何将应用程序URI转换为普通文件路径?,c++,winapi,windows-10,C++,Winapi,Windows 10,如果我知道应用程序/包id,如何从应用程序URI获取正常文件路径 ms-appx:///assets/Logo.png ms-appdata:///local/Packs/area1.dat PathCreateFromUrlW显然不起作用。我认为对于UWP应用程序,通过使用IStorageFileStatics::GetFileFromApplicationUserAsync创建存储文件对象的实例,然后调用IStorageItem::get_path来获取当前应用程序的路径是一种有缺陷的方法

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

ms-appx:///assets/Logo.png
ms-appdata:///local/Packs/area1.dat

PathCreateFromUrlW
显然不起作用。我认为对于UWP应用程序,通过使用
IStorageFileStatics::GetFileFromApplicationUserAsync
创建存储文件对象的实例,然后调用
IStorageItem::get_path

来获取当前应用程序的路径是一种有缺陷的方法

您可以使用获取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);

更多参考资料:“

无论你下一步做什么,都是行不通的。