このライブラリは、多くのWindows機能をDelphi X/11に最新のクラスのラッパーとコンテナに統合します。このような実装は、Action Centerに通知を投稿できるWindows通知マネージャー、Windowsメディアトランスポートコントロールを可能にします。これにより、アプリはメディアを再生し、ボリュームポップアップアンドアクションセンターにコントロールを表示し、マスターボリュームマネージャー、 IBuffers 、 IRandomAccessStreamなどのWindowsインターフェイスを操作するための他の多くのユーティリティを持つことができます。
Windows 7以降、アプリはThe Appusermodelidという機能を使用します。これは、Windowsがアプリケーションを他のアプリケーションと区別し、それに関する情報を取得するために使用するユニークなアプリ識別子です。これは、スタートメニューとWindowsレジストリの2つの場所で登録されています。 [アプリがインストールされているときに、スタート]メニューにショートカットを追加するため、ティップで登録されます。グローバルに登録(管理者の特権が必要)または現在のユーザーのみで登録できます。これが登録されている場所です:
| スタートメニュー | レジストリ | |
|---|---|---|
| グローバル | %SystemDrive% ProgramData Microsoft Windows Start Menu Programs | hkey_local_machine software classes appusermodelid |
| 現在のユーザーのみ | シェル:スタートメニュー | hkey_current_user software classes appusermodelid |
このライブラリは、 TAppRegistrationを使用して、この両方の場所へのアプリの登録を管理しています。 Cod.WindowsRT.AppRegistrationには、タイプTCurrentAppRegistrationの現在のアプリケーションのために定義されているAppRegistration Variabileがあります。アプリケーションの場合、ランタイム中に、AppUsermodelidを一度設定する必要があります。
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
定義されていない場合、 firefox.exeなど、デフォルトでは実行可能ファイルのモジュール名になります。
アプリを登録する方法の例は次のとおりです。プログラムのインストール中にこれを行うことをお勧めしますが、ランタイム中にも実行できますが、実行時にスタートメニューのショートカットを追加することを意味するため、再確認されていません。
with TAppRegistration.Create do
try
AppUserModelID := 'com.codrutsoft.test';
AppExecutable := 'C:AppNameapplication.exe';
AppName := 'Example app name';
AppIconPath := ''; // location to ico file, can be left blank to create automatically
AppDescription := 'Very interesting app description.';
AppLaunchArguments := ''; // launch arguments for start menu shortcut
AppShowInSettings := false; // show in settings the option to edit notification settings
// Register
RegisterApp( falsew ); // true = global, false = local
finally
Free;
end;
アプリを登録せずに、それはさらに簡単で、アンインストール中に行うこともお勧めします。
with TAppRegistration.Create do
try
AppUserModelID := 'com.codrutsoft.test';
AppName := 'Example app name'; // required to delete the start menu shortcut
// Register
UnregisterApp( not Settings.UserInstall );
finally
Free;
end;
アプリケーションがIDに登録されると、実行メニュー(Win+R)と次の構文から開くことができます
shell:appsfolder<AppUserModelID>