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 None Activar una aplicación en primer plano con comandos de voz a través de Cortana
LaunchActivatedEventArgs Ninguno