<uap:VisualElements>タグを調べる
UWPアプリのもう1つの名前が、タイルに表示されるDisplayNameだ。仕様書によれば、これは、<uap:VisualElements>タグのDisplayName属性で指定されている。
●AppxManifest.xml uap:VisualElementsタグ
https://docs.microsoft.com/ja-jp/uwp/schemas/appxpackage/uapmanifestschema/element-uap-visualelements
タグにネームスペースがあるため、SelectNodesでは、ネームスペースを指定する必要があるが、PowershellでXMLをオブジェクトのように扱うとネームスペースを良い具合に無視してくれる。これを使って、インストールされているUWPアプリのVisualElementsタグの状態を調べるには
(Get-AppxPackage -PackageTypeFilter Main | Get-AppxPackageManifest).Package.Applications.Application.VisualElements | Out-GridView
とする。
こちらも、“ms-resource:”で実際の値がリソース側にあるものだけでなく、直接指定されているものがある。
具体的に特定のAppxManifest.xmlからタイルに表示される名前(VisualElementsタグDisplayName属性)を取り出すには、
$Manifest.Package.Applications.Application.VisualElements.GetAttribute('DisplayName')
とする。
★
これらの結果と前回までの解析を組みあわせると、UWPアプリの日本語名を取り出すことができる。それ以外にもさまざまな情報を取り出すことができる。有用なのは、UWPアプリをURLで起動するときのスキーム名を取り出せることだろう。これは、
(Get-AppxPackage "*News*" | Get-AppxPackageManifest).Package.Applications.Application.Extensions.Extension.protocol.Name
でできる。BingNewsの場合、「bingnews」、「msnnews」、「msnews」の3つのスキーム名が表示されるが、どれもURLを開くスタイルで行うアプリ起動(に利用できる。Powershellやコマンドプロンプトからはstartコマンドを使って
start bingnews://
とする。他のアプリでも、調べればURI起動が可能になる。
これで、UWPアプリのインストール先やリソースフォルダーにあるresources.priとAppxManifest.xmlから情報を引き出せるようになった。なお、C:\Windows以下にあるシステム系のAppxパッケージは、UWPとは違った構造になっているため、必ずしも今回のやり方で情報が得られるわけではないが、基本は同じである。Appxである以上、必ずAppxManifest.xmlがある。
この連載の記事
-
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第429回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した -
第425回
PC
無料で使えるExcelにWord、Microsoft 365のウェブ版を調べた -
第424回
PC
Windowsの基本機能であるクリップボードについてあらためて整理 -
第423回
PC
PowerShellの今を見る 2つあるPowerShellはどっち使えばいい? -
第422回
PC
Windows 11の目玉機能が早くも終了、Windows Subsystem for Android(WSA)を振り返る -
第421回
PC
進化しているPowerToys LANで接続したマシンでキーボード/マウス共有機能などが追加 -
第420回
PC
Windowsプレビュー版に搭載されたsudoを試す - この連載の一覧へ