Udostępnij za pośrednictwem


Uzyskiwanie informacji o aktywacji dla spakowanych aplikacji

Począwszy od systemu Windows 10, wersji 1809, aplikacje desktopowe mogą wywoływać metodę AppInstance.GetActivatedEventArgs, aby pobrać niektóre rodzaje informacji o aktywacji aplikacji podczas uruchamiania. Możesz na przykład wywołać tę metodę, aby uzyskać informacje związane z aktywacją aplikacji przy otwarciu pliku, kliknięciu wzbogaconego tosta lub użyciu protokołu. Od Windows 10, wersja 2004, ta funkcja jest także dostępna w pakowanych aplikacjach z zewnętrzną lokalizacją (patrz Udzielanie tożsamości pakietu przy pakowaniu z zewnętrzną lokalizacją).

Notatka

Oprócz pobierania niektórych typów informacji o aktywacji przy użyciu AppInstance.GetActivatedEventArgs metody, zgodnie z opisem w tym artykule, można również pobrać informacje o aktywacji dla zadań w tle, definiując klasę COM. Aby uzyskać więcej informacji, zobacz Tworzenie i rejestrowanie zadania w tle winmain COM.

Przykład kodu

W poniższym przykładzie kodu pokazano, jak wywołać metodę AppInstance.GetActivatedEventArgs z funkcji Main w aplikacji Windows Forms. Dla każdego typu aktywacji obsługiwanego przez aplikację należy rzutować wartość zwracaną args do odpowiedniego typu argumentów zdarzenia. W tym przykładzie kodu przyjmuje się, że metody Handlexxx mają być dedykowanym kodem obsługi aktywacji zdefiniowanym gdzie indziej.

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

Obsługiwane typy aktywacji

Możesz użyć metody AppInstance.GetActivatedEventArgs, aby pobrać informacje o aktywacji z obsługiwanego zestawu obiektów args zdarzeń wymienionych w poniższej tabeli. Niektóre z tych typów aktywacji wymagają użycia rozszerzenia pakietu w manifeście pakietu.

ShareTargetActivatedEventArgs informacje o aktywacji są obsługiwane tylko w systemie Windows 10 od wersji 2004 wzwyż. Wszystkie inne typy informacji o aktywacji są obsługiwane w systemie Windows 10 w wersji 1809 i nowszych.

Typ argumentów zdarzeń Rozszerzenie pakietu Powiązane dokumenty
ShareTargetActivatedEventArgs uap:ShareTarget Tworzenie aplikacji desktopowej jako miejsca docelowego udostępniania
ProtocolActivatedEventArgs uap:Protocol Uruchamianie aplikacji przy użyciu protokołu
ToastNotificationActivatedEventArgs desktop:ToastNotificationActivation Powiadomienia toast z aplikacji desktopowych.
StartupTaskActivatedEventArgs desktop:StartupTask Uruchamianie pliku wykonywalnego, gdy użytkownicy logują się do systemu Windows
FileActivatedEventArgs uap:FileTypeAssociation Kojarzenie spakowanej aplikacji z zestawem typów plików
ArgumentyZdarzeniaAktywacjiPoleceniaGłosowego Żaden aktywowanie aplikacji pierwszego planu za pomocą poleceń głosowych za pośrednictwem Cortany
LaunchActivatedEventArgs Żaden