該庫將許多Windows功能集成到Delphi X/11與現代類包裝器和容器。此類實現是Windows Notification Manager,它允許向操作中心(Windows Media Transport Controls)發布通知,該通知可以將應用程序註冊為播放媒體,並在音量彈出式和動作中心中顯示控件,主捲管理器以及許多其他用於使用Windows Interfaces(例如IBuffers , IRandomAccessStream uff)和更多其他公用事業。
由於Windows 7,應用程序使用稱為AppuserModelid的功能。這是Windows用來將您的應用程序與他人區分開並獲取有關它的信息的唯一應用標識符。這是在兩個地方註冊的,即開始菜單和Windows註冊表。安裝應用程序時,它會氨氣註冊,因為它在開始菜單中添加了快捷方式。它可以在全球註冊(需要管理員特權),也可以為當前用戶註冊。這是它被重新列出的地方:
| 開始菜單 | 註冊表 | |
|---|---|---|
| 全球的 | %systemDrive% programData Microsoft Windows start Menu Program | hkey_local_machine software class appusermodelid |
| 只是當前用戶 | 外殼:開始菜單 | hkey_current_user software class appusermodelid |
該圖書館使用TAppRegistration管理應用程序對兩個地方的註冊。在Cod.WindowsRT.AppRegistration中,有一個為當前應用程序定義的AppRegistration variabile,即類型TCurrentAppRegistration 。對於應用程序,在運行時,您需要設置一次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>