Cette bibliothèque intègre beaucoup de fonctionnalités Windows dans Delphi X / 11 avec les emballages et conteneurs de classe modernes. Ces implémentations sont le gestionnaire de notification Windows, qui permet de publier des notifications au Centre d'action, les contrôles de transport Windows Media, qui permettent à une application de s'inscrire en tant que médias de lecture et à afficher des contrôles dans le centre popup et l'action du volume, le gestionnaire de volume maître et beaucoup d'autres utilitaires pour travailler avec des interfaces Windows telles que IBuffers , IRandomAccessStream et plus.
Depuis Windows 7, les applications utilisent une fonctionnalité appelée appusermodelid. Il s'agit d'un identifiant d'application unique que Windows utilise pour différencier votre application des autres et obtenir des informations à ce sujet. Ceci est enregistré à deux endroits, le menu Démarrer et le registre Windows. Il est enregistré en tant que Tiply lorsque l'application est installée, car il ajoute le raccourci dans le menu Démarrer. Il peut être enregistré à l'échelle mondiale (nécessite des privilèges d'administrateur) ou uniquement pour l'utilisateur actuel. Voici où il est régisté:
| Menu de démarrage | Enregistrement | |
|---|---|---|
| Mondial | % SystemDrive% ProgramData Microsoft Windows Démarrer le menu Programmes | Hkey_local_machine logiciel classes appusermodelid |
| Juste l'utilisateur actuel | Shell: menu Démarrer | Hkey_current_user logiciel classes appusermodelid |
Cette bibliothèque utilise un TAppRegistration pour gérer l'enregistrement d'une application sur ces deux endroits. Dans le Cod.WindowsRT.AppRegistration il existe une variabe AppRegistration définie pour l'application actuelle, de type TCurrentAppRegistration . Pour l'application, pendant l'exécution, vous devrez définir une fois AppuserModelid, en tant que tel:
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
S'il n'est pas défini, il sera par défaut le nom du module de l'exécutable, comme firefox.exe .
Voici un exemple sur la façon de régistre l'application, il est recommandé pour le faire lors de l'installation du programme, mais cela peut également être fait pendant l'exécution, mais il n'est pas recommandé car cela signifie qu'il ajoutera le raccourci du menu de démarrage pendant l'exécution.
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;
Pour non régisté l'application, il est encore plus simple, également recommandé de faire pendant la désinstallation, il suffit d'appeler:
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;
Une fois qu'une application est enregistrée avec son ID, elle peut être ouverte à partir du menu d'exécution (Win + R) et la syntaxe suivante
shell:appsfolder<AppUserModelID>