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 | None | Attivare un'app in primo piano con comandi vocali tramite Cortana |
LaunchActivatedEventArgs | Nessuno |