Compartilhar via


Ativando notificações toast de aplicativos de desktop

Aplicativos Win32 empacotados e descompactados podem enviar notificações toast interativas, assim como os aplicativos UWP podem. Isso inclui aplicativos empacotados (consulte Criar um novo projeto para um aplicativo de desktop WinUI 3 empacotado); aplicativos empacotados com local externo (consulte Conceder identidade do pacote ao empacotar com local externo); e aplicativos não empacotados (consulte Criar um novo projeto para um aplicativo de desktop WinUI 3 não empacotado).

No entanto, para um aplicativo Win32 não empacotado, há algumas etapas especiais. Isso ocorre devido aos diferentes esquemas de ativação e à falta de identidade do pacote em runtime.

Neste tópico, listamos as opções que você tem para enviar uma notificação do tipo toast no Windows 10. Todas as opções dão suporte total a...

  • Persistindo na Central de Ações
  • Pode ser ativada tanto na janela pop-up quanto dentro da Central de Ações
  • Ser ativável enquanto o seu EXE não está em execução.

Todas as opções

A tabela a seguir ilustra suas opções para dar suporte a toasts no aplicativo da área de trabalho e os recursos correspondentes suportados. Você pode usar a tabela para selecionar a melhor opção para seu cenário.

Opção Visuais Ações Entradas Ativado no processo
ativador COM Suportado Suportado Suportado Suportado
Sem CLSID com/Stub Suportado Suportado Sem suporte Sem suporte

Opção preferencial – ativador COM

Essa é a opção preferencial que funciona para aplicativos da área de trabalho e dá suporte a todos os recursos de notificação. Não tenha medo do "ativador COM"; temos uma biblioteca para aplicativos C# e C++ que torna isso muito simples, mesmo que você nunca tenha escrito um servidor COM antes.

Visuais Ações Entradas Ativado no processo
Suportado Suportado Suportado Suportado

Com a opção ativador COM, você pode usar os seguintes modelos de notificação e tipos de ativação em seu aplicativo.

Modelo e tipo de ativação Embalados Desempacotado
Primeiro plano do ToastGeneric Suportado Suportado
Plano de fundo do ToastGeneric Suportado Suportado
Protocolo ToastGeneric Suportado Suportado
Modelos herdados Suportado Sem suporte

Observação

Se você adicionar o ativador COM ao seu aplicativo empacotado existente, as ativações de notificação em primeiro plano/em segundo plano e legado ativarão o ativador COM em vez da linha de comando.

Para saber como usar essa opção, consulte Enviar uma notificação toast local de aplicativos C# de desktop ou Enviar uma notificação toast local de aplicativos WRL de Win32 C++.

Opção alternativa – Sem COM / Stub CLSID

Essa é uma opção alternativa se você não puder implementar um ativador COM. No entanto, você sacrificará alguns recursos, como suporte de entrada (caixas de texto em notificação) e ativação em processo.

Visuais Ações Entradas Ativado no processo
Suportado Suportado Sem suporte Sem suporte

Com essa opção, se você oferecer suporte à área de trabalho, você estará muito mais limitado nos modelos de notificação e nos tipos de ativação que você pode usar, conforme visto abaixo.

Modelo e tipo de ativação Embalados Desempacotado
Primeiro plano do ToastGeneric Suportado Sem suporte
Plano de fundo do ToastGeneric Suportado Sem suporte
Protocolo ToastGeneric Suportado Suportado
Modelos herdados Suportado Sem suporte

Para aplicativos empacotados, basta enviar notificações toast como um aplicativo UWP o faria. Quando o usuário clicar na sua notificação, seu aplicativo será iniciado pela linha de comando com os argumentos de inicialização que você especificou na notificação.

Para aplicativos não empacotados, configure o AUMID para que você possa enviar notificações e especifique também um CLSID no atalho. Isso pode ser qualquer GUID aleatório. Não adicione o servidor/ativador COM. Você está adicionando um "stub" COM CLSID, o que fará com que a Central de Ações mantenha a notificação. Observe que você pode usar somente notificações pop-up de ativação de protocolo, pois o STUB CLSID interromperá a ativação de qualquer outra notificação pop-up. Portanto, você precisa atualizar seu aplicativo para dar suporte à ativação do protocolo e fazer com que o protocolo do toast ative seu próprio aplicativo.

Recursos