Esta biblioteca integra muitas funcionalidades do Windows no Delphi X/11 com embalagens e contêineres modernos de classe. Essas implementações são o Windows Notification Manager, que permite postar notificações no Centro de Ação, o Windows Media Transport Controls, que permite que um aplicativo se registre como mídia e tendo controles exibidos no Centro de Pop -Up e Ação de Volume, o Mester Volume Manager e muitos outros utilitários para trabalhar com interfaces de janelas, como IBuffers , IRandomAccessStream e mais.
Desde o Windows 7, os aplicativos usam um recurso chamado The AppUsermodelid. Este é um identificador de aplicativo exclusivo que o Windows usa para diferenciar seu aplicativo de outras pessoas e obter informações sobre ele. Isso é registrado em dois lugares, o menu Iniciar e o Registro do Windows. É registrado tipicamente quando o aplicativo é instalado, pois adiciona o atalho no menu Iniciar. Pode ser registrado globalmente (requer privilégios de administrador) ou apenas para o usuário atual. Aqui é onde está regido:
| Iniciar o menu | Registro | |
|---|---|---|
| Global | %SystemDrive% ProgramData Microsoft Windows Iniciar Menu Programas | Hkey_local_machine software classes appUsermodelid |
| Apenas usuário atual | Shell: Iniciar o menu | Hkey_current_user software classes appUsermodelid |
Esta biblioteca usa um TAppRegistration para gerenciar o registro de um aplicativo em ambos os locais. No Cod.WindowsRT.AppRegistration existe um variável AppRegistration definido para o aplicativo atual, do tipo TCurrentAppRegistration . Para o aplicativo, durante o tempo de execução, você precisará definir o AppUSermodelid uma vez, como tal:
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
Se não for definido, será por padrão o nome do módulo do executável, como firefox.exe .
Aqui está um exemplo de como regerir o aplicativo, ele é recomendado para fazer isso durante a instalação do programa, mas também pode ser feito durante o tempo de execução, mas não é recomendado, pois significa que ele adicionará o atalho de menu inicial durante o tempo de execução.
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;
Para não resistir ao aplicativo, é ainda mais simples, também recomendado durante a desinstalação, basta chamar:
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;
Depois que um aplicativo é registrado com seu ID, ele pode ser aberto no menu Run (Win+R) e a seguinte sintaxe
shell:appsfolder<AppUserModelID>