我正在解析AppxManifest.xml并获取显示名称。这包含了类似的东西
ms-resource:ApplicationTitleWithBranding,ms-resource:AppTitleWithBranding,
MS-资源:AppStoreName。
当我使用SHLoadIndirectString函数使用此显示名称(格式为@ {PRIFilepath?resource})时,我没有获得本地化的显示名称。它什么都不返回。
但是我得到了一些包含显示名称类似于ms-resource:/// Resources / AppStoreName的应用程序的正确响应。
是否有解决方法来获取本地化的显示名称?
我需要这个在windows8.1和windows10上工作。这是一个桌面应用程序。
答案 0 :(得分:3)
我刚刚通过' ms-resource:AppTitleWithBranding'与pri文件位置一起使用该函数。这就是我没有获得本地化名称的原因。
我们不应该以这种格式发送资源:ms-resource:AppTitleWithBranding。以下面的格式修改这个东西。
资源应采用以下格式:
ms-resource://Package.Id.Name/resources/AppTitleWithBranding
如果AppxManifest.xml已经包含上述格式,那么就按原样传递。
最终格式应为@ {PRIFilepath?resource}
答案 1 :(得分:1)
我知道ms-resource:
的{{1}} URI转换更多:
@{PRIFilepath?resource}
注意:请注意,WinRT数据库和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
的包名称可能与AppxManifest.xml
的包名称不同。