Ottenere informazioni di attivazione per le app in pacchetto

A partire da Windows 10 versione 1809, le app desktop in pacchetto possono chiamare il metodo AppInstance.GetActivatedEventArgs per recuperare determinati tipi di informazioni di attivazione dell'app durante l'avvio. Ad esempio, puoi chiamare questo metodo per ottenere informazioni relative all'attivazione dell'app dall'apertura di un file, facendo clic su una notifica interattiva popup o usando un protocollo. A partire da Windows 10 versione 2004, questa funzionalità è supportata anche nelle applicazioni pacchettizzate con posizione esterna (vedere Concedere l'identità del pacchetto tramite il packaging con posizione esterna).

Nota

Oltre a recuperare determinati tipi di informazioni di attivazione usando il metodo AppInstance.GetActivatedEventArgs come descritto in questo articolo, puoi anche recuperare informazioni di attivazione per le attività in background definendo una classe COM. Per ulteriori informazioni, vedi Creare e registrare un'attività in background COM winmain.

Esempio di codice

L'esempio di codice seguente illustra come chiamare il metodo AppInstance.GetActivatedEventArgs dalla funzione Main in un'app Windows Forms. Per ogni tipo di attivazione supportato dalla tua app, esegui il cast del valore restituito args al tipo di argomento dell'evento appropriato. In questo esempio di codice si presuppone che i metodi Handlexxx siano un codice del gestore di attivazione dedicato definito altrove.

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;
    }

Tipi di attivazione supportati

Puoi usare il metodo AppInstance.GetActivatedEventArgs per recuperare le informazioni di attivazione dal set supportato di oggetti argomenti dell'evento elencati nella tabella seguente. Alcuni di questi tipi di attivazione richiedono l'utilizzo di un'estensione del pacchetto nel manifesto del pacchetto.

Le informazioni di attivazione di ShareTargetActivatedEventArgs sono supportate solo in Windows 10, nella versione 2004 e successive. Tutti gli altri tipi di informazioni di attivazione sono supportati in Windows 10, versione 1809 e successive.

Tipo di argomento dell'evento Estensione del pacchetto Documenti correlati
ShareTargetActivatedEventArgs uap:ShareTarget Integra le applicazioni impacchettate con Windows Share
ProtocolActivatedEventArgs uap:Protocol Avviare l'applicazione tramite un protocollo
ToastNotificationActivatedEventArgs desktop:ToastNotificationActivation Guida rapida alle notifiche delle app
StartupTaskActivatedEventArgs desktop:StartupTask Avvia un file eseguibile quando gli utenti accedono a Windows
FileActivatedEventArgs uap:FileTypeAssociation Associare la tua applicazione in pacchetto a un set di tipi di file
VoiceCommandActivatedEventArgs None Attivare un'app in primo piano con comandi vocali tramite Cortana
LaunchActivatedEventArgs None