如何获取 windows 商店应用程序的本地化显示名称

How to get localized display name for the windows store apps

我正在解析 AppxManifest.xml 并获取显示名称。其中包含类似
的内容 ms-resource:ApplicationTitleWithBranding, ms-resource:AppTitleWithBranding,
ms-资源:AppStoreName。

当我使用带有此显示名称的 SHLoadIndirectString 函数时(格式为 @{PRIFilepath?resource} ),我没有得到本地化的显示名称。它returns没什么。

但是对于某些包含类似 ms-resource:///Resources/AppStoreName 之类的显示名称的应用程序,我得到了正确的响应。

是否有任何解决方法来获取本地化的显示名称?

我需要它在 windows8.1 和 windows10 上工作。它是一个桌面应用程序。

我刚刚将 'ms-resource:AppTitleWithBranding' 连同 pri 文件位置传递给函数。这就是为什么我没有得到本地化名称的原因。

我们不应以这种格式发送资源:ms-resource:AppTitleWithBranding。按照下面的格式修改这个东西。

资源的格式应为:
ms-resource://Package.Id.Name/resources/AppTitleWithBranding

如果AppxManifest.xml已经包含在上面的格式中,则直接通过。

最终格式应该是@{PRIFilepath?resource}

我知道更多 ms-resource: @{PRIFilepath?resource} 的 URI 转换:

ms-resource:///xxx  => ms-resource://<PRI-file package name>/xxx
ms-resource://xxx
ms-resource:/xxx    => ms-resource://<PRI-file package name>/xxx
ms-resource:xxx     => ms-resource://<PRI-file package name>/Resources/xxx
ms-resource:xxx/yyy => ms-resource://<PRI-file package name>/xxx/yyy
ms-resource:xxx/yyy => ms-resource://<PRI-file package name>/Resources/xxx/yyy

注意:请注意,来自 WinRT 数据库和 AppxManifest.xml 的程序包名称可能与来自 resources.pri 的程序包名称不同。