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

本文关键字:应用程序 本地化 显示 何获取 获取 windows | 更新日期: 2023-09-27 17:59:00

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

当我将SHLoadIndirectString函数与此显示名称(格式为@{PRIFilepath?resource})一起使用时,我不会得到本地化的显示名称。它什么也不回。

但对于一些包含显示名称(如ms)的应用程序,我得到了适当的响应-resource:///Resources/AppStoreName.

是否有获得本地化显示名称的变通方法?

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

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

我刚刚将"ms-resource:AppTitleWithBranding"和pri文件位置一起传递给函数。这就是为什么我没有得到本地化的名称。

我们不应该以以下格式发送资源:ms-resource:AppTitleWithBranding。按以下格式修改此内容。

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

如果AppxManifest.xml已经包含上述格式,那么就按原样传递。

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

我对@{PRIFilepath?resource}:的ms-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中的包名不同。