Obter informações de ativação para aplicativos empacotados

Do Windows 10, versão 1809 em diante, os aplicativos de área de trabalho empacotados podem chamar o método AppInstance.GetActivatedEventArgs para recuperar determinados tipos de informações de ativação de aplicativo durante a inicialização. Por exemplo, você pode chamar esse método para obter informações relacionadas à ativação do aplicativo ao abrir um arquivo, clicando em uma notificação do sistema interativa ou usando um protocolo. Do Windows 10, versão 2004, em diante, esse recurso também é compatível com aplicativos empacotados com localização externa (confira Conceder identidade do pacote empacotando-o com localização externa).

Observação

Além de recuperar determinados tipos de informações de ativação usando o método AppInstance.GetActivatedEventArgs, conforme descrito neste artigo, você também pode recuperar informações de ativação de tarefas em segundo plano definindo uma classe COM. Para obter mais informações, confira Criar e registrar uma tarefa COM em segundo plano do winmain.

Exemplo de código

O exemplo de código a seguir demonstra como chamar o método AppInstance.GetActivatedEventArgs na função Main em um aplicativo do Windows Forms. Para cada tipo de ativação ao qual o seu aplicativo dá suporte, converta o valor retornado de args para o tipo de args de evento correspondente. Neste exemplo de código, é presumido que os métodos de Handlexxx são um código de manipulador de ativação dedicado que você definiu em outro lugar.

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

Tipos de ativação com suporte

Você pode usar o método AppInstance.GetActivatedEventArgs para recuperar informações de ativação do conjunto de objetos args de evento com suporte listados na tabela a seguir. Alguns desses tipos de ativação exigem o uso de uma extensão de pacote no manifesto do pacote.

As informações de ativação do ShareTargetActivatedEventArgs têm suporte apenas no Windows 10, versão 2004 e posteriores. Todos os outros tipos de informações de ativação têm suporte no Windows 10, versão 1809 e posteriores.

Tipo de args de evento Extensão do pacote Docs relacionados
ShareTargetActivatedEventArgs uap:ShareTarget Tornar seu aplicativo da área de trabalho um destino de compartilhamento
ProtocolActivatedEventArgs uap:Protocol Iniciar o aplicativo usando um protocolo
ToastNotificationActivatedEventArgs desktop:ToastNotificationActivation Notificações do sistema de aplicativos da área de trabalho.
StartupTaskActivatedEventArgs desktop:StartupTask Inicie um arquivo executável quando os usuários entrarem no Windows
FileActivatedEventArgs uap:FileTypeAssociation Associe o aplicativo empacotado a um conjunto de tipos de arquivos
VoiceCommandActivatedEventArgs Nenhum Ativar um aplicativo em primeiro plano com comandos de voz por meio da Cortana
LaunchActivatedEventArgs Nenhum