Esta biblioteca integra mucha funcionalidad de Windows en Delphi X/11 con envoltorios y contenedores de clase modernos. Dichas implementaciones son el Administrador de notificaciones de Windows, que permite publicar notificaciones en el Centro de Acción, los controles de transporte de Windows Media, que permiten que una aplicación se registre como medios de reproducción y que se muestren en el Centro de ventana y acción de volumen de volumen, el Administrador de volumen maestro y muchas otras utilidades para trabajar con Windows Interfaces como IBuffers , IRandomAccessStream y más.
Desde Windows 7, las aplicaciones usan una función llamada AppUsermodelid. Este es un identificador de aplicación único que Windows usa para diferenciar su aplicación de otros y obtener información al respecto. Esto está registrado en dos lugares, el menú de inicio y el registro de Windows. Se registra típicamente cuando se instala la aplicación, ya que agrega el acceso directo en el menú Inicio. Se puede registrar a nivel mundial (requiere privilegios de administrador) o solo para el usuario actual. Aquí es donde está registado:
| Menú de inicio | Registro | |
|---|---|---|
| Global | %SystemDrive% ProgramData Microsoft Windows Inicio Menú Programas | HKEY_LOCAL_MACHINE Software classes AppUsermodelid |
| Solo usuario actual | Shell: Menú de inicio | HKEY_CURRENT_USER Software classes AppUsermodelid |
Esta biblioteca utiliza un TAppRegistration para administrar el registro de una aplicación en ambos lugares. En el Cod.WindowsRT.AppRegistration Existe una variábil AppRegistration definida para la aplicación actual, de tipo TCurrentAppRegistration . Para la aplicación, durante el tiempo de ejecución, deberá establecer el AppUsermodelid una vez, como tal:
AppRegistration.AppUserModelID := 'com.codrutsoft.test';
Si no se define, será por defecto el nombre del módulo del ejecutable, como firefox.exe .
Aquí hay un ejemplo sobre cómo registar la aplicación, se recomienda hacer esto durante la instalación del programa, pero también se puede hacer durante el tiempo de ejecución, pero no se recomienda, ya que significa que agregará el acceso directo del menú de inicio durante el tiempo de ejecución.
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 no registrar la aplicación, es aún más simple, también se recomienda hacer durante la desinstalación, solo llame:
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;
Una vez que se registra una aplicación con su ID, se puede abrir desde el menú Ejecutar (WIN+R) y la siguiente sintaxis
shell:appsfolder<AppUserModelID>