取得已封裝應用程式的啟用資訊
從 Windows 10 版本 1809 開始,封裝的傳統型應用程式可以呼叫 AppInstance.GetActivatedEventArgs 方法,在啟動期間擷取特定種類的啟用資訊。 例如,您可以呼叫此方法,開啟檔案、按一下互動式快顯通知或使用通訊協定,以取得與應用程式啟用相關的資訊。 從 Windows 10 版本 2004 開始,在具有外部位置的套件識別資料中也支援這項功能(請參閱使用外部位置封裝來授與套件識別資料)。
注意
除了使用本文所述的 AppInstance. GetActivatedEventArgs 方法來擷取特定類型的啟用資訊以外,您也可以藉由定義 COM 類別來擷取背景工作的啟用資訊。 如需詳細資訊,請參閱建立並註冊 winmain COM 背景工作。
程式碼範例
下列程式碼範例示範如何從 Windows Forms 應用程式中的 Main 函式呼叫 AppInstance.GetActivatedEventArgs 方法。 針對您應用程式支援的每個啟用類型,將 args
傳回值轉換為對應的事件引數類型。 在此程式碼範例中,假設 Handlexxx
方法是您已在其他地方定義的專用啟用處理常式碼。
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;
}
支援的啟用類型
您可以使用 AppInstance.GetActivatedEventArgs 方法,從下表所列的一組受支援事件引數物件中擷取啟用資訊。 其中某些啟用類型需要使用封裝資訊清單中的封裝擴充功能。
只有 Windows 10 版本 2004 和更新版本上才支援 ShareTargetActivatedEventArgs 啟用資訊。 Windows 10 版本 1809 和更新版本上支援所有其他啟用資訊類型。
事件引數類型 | 封裝擴充功能 | 相關文件 |
---|---|---|
ShareTargetActivatedEventArgs | uap:ShareTarget | 讓您的傳統型應用程式成為共用目標 |
ProtocolActivatedEventArgs | uap:Protocol | 使用通訊協定啟動您的應用程式 |
ToastNotificationActivatedEventArgs | desktop:ToastNotificationActivation | 來自傳統型應用程式的快顯通知。 |
StartupTaskActivatedEventArgs | desktop:StartupTask | 在使用者登入 Windows 時啟動可執行檔 |
FileActivatedEventArgs | uap:FileTypeAssociation | 將已封裝的應用程式和一組檔案類型建立關聯 |
VoiceCommandActivatedEventArgs | 無 | 透過 Cortana 以語音命令啟動前景應用程式 |
LaunchActivatedEventArgs | 無 |