Obtener información de activación de aplicaciones empaquetadas
A partir de Windows 10, versión 1809, las aplicaciones de escritorio empaquetadas pueden llamar al método AppInstance.GetActivatedEventArgs para recuperar determinados tipos de información de activación de la aplicación durante el inicio. Por ejemplo, puede llamar a este método para obtener información relacionada con la activación de la aplicación al abrir un archivo, al hacer clic en una notificación del sistema interactiva o mediante un protocolo. A partir de la versión 2004 de Windows 10, esta característica también se admite en aplicaciones empaquetadas con ubicación externa (consulte Concesión de la identidad del paquete mediante el empaquetado con ubicación externa).
Nota
Además de recuperar determinados tipos de información de activación mediante el método AppInstance.GetActivatedEventArgs como se describe en este artículo, también puede recuperar información de activación de las tareas en segundo plano mediante la definición de una clase COM. Para más información, consulte Creación y registro de una tarea en segundo plano COM de WinMain.
Ejemplo de código
En el ejemplo de código siguiente se muestra cómo llamar al método AppInstance.getactivatedeventargsGetActivatedEventArgs desde la función Main en una aplicación de Windows Forms. Para cada tipo de activación que admita la aplicación, convierta el valor devuelto de args
al tipo de argumentos del evento correspondiente. En este ejemplo de código, se supone que los métodos Handlexxx
son el código del controlador de activación dedicado que se ha definido en otra parte.
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var args = AppInstance.GetActivatedEventArgs();
switch (args.Kind)
{
case ActivationKind.Launch:
HandleLaunch(args as LaunchActivatedEventArgs);
break;
case ActivationKind.ToastNotification:
HandleToastNotification(args as ToastNotificationActivatedEventArgs);
break;
case ActivationKind.VoiceCommand:
HandleVoiceCommand(args as VoiceCommandActivatedEventArgs);
break;
case ActivationKind.File:
HandleFile(args as FileActivatedEventArgs);
break;
case ActivationKind.Protocol:
HandleProtocol(args as ProtocolActivatedEventArgs);
break;
case ActivationKind.StartupTask:
HandleStartupTask(args as StartupTaskActivatedEventArgs);
break;
default:
HandleLaunch(null);
break;
}
Tipos de activación admitidos
Puede usar el método AppInstance.GetActivatedEventArgs para recuperar información de activación del conjunto admitido de objetos de argumentos de eventos que se enumeran en la tabla siguiente. Algunos de estos tipos de activación requieren el uso de una extensión de paquete en el manifiesto del paquete.
La información de activación de ShareTargetActivatedEventArgs solo se admite en Windows 10, versión 2004 y versiones posteriores. Todos los demás tipos de información de activación se admiten en Windows 10, versión 1809 y versiones posteriores.
Tipo de argumentos de eventos | Extensión de paquete | Documentos relacionados |
---|---|---|
ShareTargetActivatedEventArgs | uap:ShareTarget | Convertir la aplicación de escritorio en un destino de recursos compartidos |
ProtocolActivatedEventArgs | uap:Protocol | Iniciar la aplicación mediante un protocolo |
ToastNotificationActivatedEventArgs | desktop:ToastNotificationActivation | Notificaciones del sistema desde aplicaciones de escritorio. |
StartupTaskActivatedEventArgs | desktop:StartupTask | Iniciar un archivo ejecutable cuando los usuarios inicien sesión en Windows |
FileActivatedEventArgs | uap:FileTypeAssociation | Asociar la aplicación empaquetada con un conjunto de tipos de archivo |
VoiceCommandActivatedEventArgs | Ninguno | Activar una aplicación en primer plano con comandos de voz a través de Cortana |
LaunchActivatedEventArgs | Ninguno |