新しいメモ帳 (Microsoft Store版) が採用しているUIのフレームワークがどうなっているか

新しいメモ帳 (Microsoft Store版) が採用しているUIのフレームワークがどうなっているかを調査します。

概要

新しいメモ帳では、ダークモードに対応し、メニューや設定画面のUIなど従来のWindowsアプリケーションと大きく異なっています。 下図のスクリーンキャプチャから、タイトルバーは背景の壁紙の色が反映されており、Micaが使用されていることもわかります。
新しいメモ帳で、どのUIフレームワークが採用されているのかを調べてみます。

アプリケーションファイル

アプリケーションのファイルは"notepad.exe"となっており、単一のexeファイルであるように見えます。サイズは340KBあり、 他のランタイムとの動的なリンクはありそうですが、プログラム自体はこのexeファイルで実行されているように見えます。

SPY++での調査

SPY++でメモ帳のウィンドウがあるか確認します。
ウィンドウ検索を実行したところ、メモ帳のウィンドウが検索で該当しました。
ウィンドウのクラスを見ると、Windows.UI.Composition.DesktopWindowContentBridge クラスが利用されています。 いわゆるWin32アプリからUWPのコントロールをレンダリングする、XAML Island に近い構成になっています。


プロパティ設定です。一般的なWin32アプリと同じ設定に見えます。




WinUI3アプリ

WinUI3アプリのSPY++の検索結果です。
クラスの構成は似ていますが、Windows.UI.Composition.DesktopWindowContentBridgeは使われておらず、 Microsoft.UI.Content.ContentWindowSiteBridge のクラスが利用されています。


UWPアプリ

UWPアプリのSPY++の検索結果です。
UWPアプリの場合はBridgeのクラスは使われていないように見えます。

WPFアプリ

WPFアプリの場合のSPY++の検索結果です。クラス名にWpfAppの文字列が含まれています。

まとめ

SPY++での調査から、WinUI 3、UWP、WPFとも違うウィンドウ構造であることがわかりましたが、exe単体ファイルであることや、 ウィンドウ構造がWinUI 3のアプリケーションに似ていることから、WinUI 3のテクノロジーをベースにしたフレームワークで 構築されている可能性が高そうです。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2022-08-13
作成日: 2022-08-11
iPentec all rights reserverd.