Эта библиотека объединяет много функциональности Windows в Delphi X/11 с современными обертками и контейнерами. Такими реализациями являются диспетчер уведомлений Windows, который позволяет публиковать уведомления в Центр действий, управление транспортом Windows Media, которые позволяют приложению регистрироваться в качестве воспроизведения носителя и отображать элементы управления в Центре всплывающего окна и действий, мастер -менеджер по объему и множество других утилит для работы с интерфейсами Windows, такими как IBuffers , IRandomAccessStream и больше.
Со времен Windows 7 приложения используют функцию под названием Appusermodelid. Это уникальный идентификатор приложения, который Windows использует для дифференциации вашего приложения от других и получить информацию о нем. Это зарегистрировано в двух местах, меню «Пуск» и реестр Windows. Он зарегистрирован, когда приложение установлено, так как он добавляет ярлык в меню «Пуск». Он может быть зарегистрирован по всему миру (требует привилегий администратора) или только для текущего пользователя. Вот где он зарегистрирован:
| Начало меню | Реестр | |
|---|---|---|
| Глобальный | %SystemDrive% ProgramData Microsoft Windows Start Menu Programs | Hkey_local_machine Software classest appusermodelid |
| Просто текущий пользователь | Шорна: начало меню | Hkey_current_user software classest appusermodelid |
Эта библиотека использует TAppRegistration для управления регистрацией приложения в обоих местах. В Cod.WindowsRT.AppRegistration существует вариабельная AppRegistration определенная для текущего приложения типа 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;
После того, как приложение зарегистрировано в своем идентификаторе, оно может быть открыто из меню Run (Win+R) и следующего синтаксиса
shell:appsfolder<AppUserModelID>