Condividi tramite


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 determinate tipologie 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 di tipo avviso popup o usando un protocollo. A partire da Windows 10 versione 2004, questa funzionalità è supportata anche nelle app in pacchetto con posizione esterna (vedi Concedere l'identità del pacchetto tramite la creazione di pacchetti con percorso esterno).

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 altre informazioni, vedi Creare e registrare un'attività in background COM per un'app WinMain.

Esempio di codice

Nell'esempio di codice seguente viene illustrato come chiamare il metodo AppInstance.GetActivatedEventArgs dalla funzione Main in un'app Windows Form. Per ogni tipo di attivazione supportato dall'app, esegui il cast del valore restituito args al tipo di argomento dell'evento corrispondente. 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 ShareTargetActivatedEventArgs sono supportate solo in Windows 10, 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 Rendere l'applicazione desktop una destinazione di condivisione
ProtocolActivatedEventArgs uap:Protocol Avviare l'applicazione tramite un protocollo
ToastNotificationActivatedEventArgs desktop:ToastNotificationActivation Notifiche di tipo avviso popup dalle app desktop.
StartupTaskActivatedEventArgs desktop:StartupTask Avviare 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 Nessuno Gestire l'attivazione ed eseguire comandi vocali
LaunchActivatedEventArgs Nessuno