2016-07-28 33 views
1

私はAppxManifest.xmlを解析し、表示名を取得しています。これには、
ms-resource:ApplicationTitleWithBranding、AppTitleWithBranding、
ms-resource:AppStoreNameのようなものが含まれています。Windowsストアアプリケーションのローカライズされた表示名を取得する方法

SHLoadIndirectString機能をこの表示名(@ {PRIFilepath?resource}の形式)で使用すると、ローカライズされた表示名が表示されません。それは何も返さない。

しかし、私はms-resource:/// Resources/AppStoreNameのような表示名を含むいくつかのアプリに対して適切な応答を得ています。

ローカライズされた表示名を取得する回避策はありますか?

私はwindows8.1とwindows10の両方で動作する必要があります。それはデスクトップアプリです。

答えて

2

私は、 'ms-resource:AppTitleWithBranding'をpriファイルの場所とともに関数に渡しました。だから私はローカライズされた名前を取得していないのです。

ms-resource:AppTitleWithBrandingの形式でリソースを送信しないでください。これを以下の形式で修正してください。

リソースの形式である必要があります
MS-リソース:

を//Package.Id.Name/resources/AppTitleWithBranding AppxManifest.xmlはすでに上記の形式で含まれている場合は、そのままそしてちょうど渡します。

そして最終的なフォーマットは、{PRIFilepathリソース?}

1

私は@{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のパッケージ名と異なる場合があります。

+0

WinRTデータベースとAppxManifest.xmlのパッケージ名は、次に、resources.priのパッケージ名と異なる場合があります。 'AppxManifestではなく、特にresources.priをクエリする方法はありますか? xml'? –

+0

'SHLoadIndirectString()'は、別のユーザ用にインストールされたアプリケーションのリソース文字列に対して動作しますか?システム上の2人のユーザーが同じ言語を使用していない可能性があります。 –

+0

Win10はGUIDパッケージ名を使用してシステムアプリケーションをインストールすることがあります。どうして?知りません。このため、パッケージ名の形式 'AppxManifest.xml'はWinRTデータベースとは異なります –

関連する問題