Erhalten von Aktivierungsinformationen für App-Pakete

Ab Windows 10 Version 1809 können verpackte Desktop-Apps die AppInstance.GetActivatedEventArgs-Methode aufrufen, um bestimmte Arten von App-Aktivierungsinformationen während des Starts abzurufen. Sie können diese Methode beispielsweise aufrufen, um Informationen zur App-Aktivierung beim Öffnen einer Datei, beim Klicken auf eine interaktive Benachrichtigung oder durch ein Protokoll abzurufen. Ab Windows 10 Version 2004 wird dieses Feature auch in verpackten Apps mit externem Speicherort unterstützt (siehe Grant-Paketidentität durch Verpacken mit externem Speicherort).

Hinweis

Zusätzlich zum Abrufen bestimmter Arten von Aktivierungsinformationen mit der Methode AppInstance.GetActivatedEventArgs, wie in diesem Artikel beschrieben, können Sie auch Aktivierungsinformationen für Hintergrundaufgaben abrufen, indem Sie eine COM-Klasse definieren. Weitere Informationen finden Sie unter Erstellen und Registrieren einer WinMain-COM-Hintergrundaufgabe.

Codebeispiel

Im folgenden Codebeispiel wird veranschaulicht, wie die AppInstance.GetActivatedEventArgs-Methode aus der Funktion Main in einer Windows Forms-App aufgerufen wird. Wandeln Sie für jeden Aktivierungstyp, den Ihre App unterstützt, den Rückgabewert args in den entsprechenden Ereignisargumenttyp um. In diesem Codebeispiel wird davor ausgegangen, dass es sich bei den Handlexxx-Methoden um dedizierten Aktivierungshandlercode handelt, den Sie an anderer Stelle definiert haben.

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

Unterstützte Aktivierungstypen

Sie können die Methode AppInstance.GetActivatedEventArgs verwenden, um Aktivierungsinformationen aus dem unterstützten Satz von Ereignisargumantobjekten abzurufen, die in der folgenden Tabelle aufgeführt sind. Einige dieser Aktivierungstypen erfordern die Verwendung einer Paketerweiterung im Paketmanifest.

ShareTargetActivatedEventArgs Aktivierungsinformationen werden nur für Windows 10, Version 2004 und höher unterstützt. Alle anderen Aktivierungsinformationstypen werden unter Windows 10, Version 1809 und höher unterstützt.

Ereignisargumanttyp Paketerweiterung Verwandte Dokumentation
ShareTargetActivatedEventArgs uap:ShareTarget Integrieren Sie verpackte Apps mit Windows Share
ProtocolActivatedEventArgs uap:Protocol Starten deiner Anwendung über ein Protokoll
ToastNotificationActivatedEventArgs desktop:ToastNotificationActivation App-Benachrichtigungen – Schnellstart.
StartupTaskActivatedEventArgs desktop:StartupTask Starten Sie eine ausführbare Datei, wenn sich Benutzer bei Windows
FileActivatedEventArgs uap:FileTypeAssociation Zuordnen einer gepackten Anwendung zu einer Gruppe von Dateitypen
VoiceCommandActivatedEventArgs Keine Aktivieren einer Vordergrund-App mit Sprachbefehlen über Cortana
LaunchActivatedEventArgs Keine