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 |