Diese Bibliothek integriert eine Menge Windows -Funktionalität in Delphi X/11 mit modernen Klassenverpackungen und Containern. Solche Implementierungen sind der Windows -Benachrichtigungsmanager, der es ermöglicht, Benachrichtigungen in das Action Center, die Windows Media Transport -Steuerelemente zu veröffentlichen, mit denen sich eine App als Medienspiele registrieren und die Steuerelemente im Volumen -Popup- und Action -Center, des Master Volumen -Managers und vieler anderer Dienstprogramme für die Arbeit mit Windows -Schnittstellen wie IBuffers , IRandomAccessStream und mehr angezeigt haben.
Seit Windows 7 verwenden Apps eine Funktion namens The AppusModelid. Dies ist eine eindeutige App -Kennung, die Windows verwendet, um Ihre Anwendung von anderen zu unterscheiden und Informationen darüber zu erhalten. Dies ist an zwei Stellen registriert, im Startmenü und der Windows -Registrierung. Es ist typischerweise registriert, wenn die App installiert ist, da sie die Verknüpfung im Startmenü hinzufügt. Es kann global registriert werden (erfordert Administratorrechte) oder nur für den aktuellen Benutzer. Hier wird es registriert:
| Startmenü | Registrierung | |
|---|---|---|
| Global | %SystemDrive% programmData Microsoft Windows Startmenü Programme | HKEY_LOCAL_MACHINE Software Classes AppUsermodelid |
| Nur aktueller Benutzer | Shell: Startmenü | HKEY_CURRENT_USER Software Classes AppUsermodelid |
Diese Bibliothek verwaltet eine TAppRegistration , um die Registrierung einer App an beiden Orten zu verwalten. In der Cod.WindowsRT.AppRegistration gibt es eine AppRegistration für die aktuelle Anwendung vom Typ TCurrentAppRegistration . Für die Anwendung müssen Sie während der Laufzeit das Appusmodelid einmal festlegen, als solche:
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
Wenn nicht definiert, ist es standardmäßig der Modulname der ausführbaren Datei wie firefox.exe .
Hier ist ein Beispiel dafür, wie die App registriert wird. Dies wird dazu empfohlen, dies während der Installation des Programms zu tun, kann aber auch während der Laufzeit erfolgen, aber es wird nicht empfohlen, da dies die Startmenü -Verknüpfung während der Laufzeit hinzufügt.
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;
Um die App nicht zu registrieren, ist sie noch einfacher und empfohlen auch während der Deinstallation. Rufen Sie einfach an:
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;
Sobald eine Anwendung bei der ID registriert ist, kann sie aus dem Auslaufmenü (Win+R) und der folgenden Syntax geöffnet werden
shell:appsfolder<AppUserModelID>