Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os aplicativos Win32 empacotados e não empacotados podem enviar notificações interativas de aviso da mesma forma que os aplicativos UWP. Isso inclui aplicativos empacotados (consulte Criar um novo projeto para um aplicativo de desktop WinUI 3 empacotado); aplicativos empacotados com recursos externos (consulte Conceder identidade ao pacote ao empacotar com recursos externos); 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 se deve aos diferentes esquemas de ativação e à falta de identidade do pacote em tempo de execução.
Neste tópico, listamos as opções que tem para enviar uma notificação toast no Windows 10. Todas as opções têm total suporte...
- Persistindo na Central de Ações
- Ser ativável a partir do pop-up e dentro da Central de Ações
- Pode ser ativado enquanto o EXE não está em execução.
Todas as opções
A tabela abaixo ilustra as suas opções para suporte a notificações tipo toast na sua aplicação de ambiente de trabalho e os respetivos recursos suportados. Você pode usar a tabela para selecionar a melhor opção para o seu cenário.
| Option | Visuals | Actions | Inputs | Ativado durante o processo |
|---|---|---|---|---|
| Ativador COM | Supported | Supported | Supported | Supported |
| Sem suporte COM / Stub CLSID | Supported | Supported | Não suportado | Não suportado |
Opção preferida - ativador COM
Esta é a opção preferida que funciona para aplicações de ambiente de trabalho e suporta todas as funcionalidades de notificação. Não tenha medo do "ativador COM"; temos uma biblioteca para aplicações C# e C++ que torna isto muito simples, mesmo que nunca tenha escrito um servidor COM antes.
| Visuals | Actions | Inputs | Ativa-se durante o processo |
|---|---|---|---|
| Supported | Supported | Supported | Supported |
Com a opção de 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 | Packaged | Unpackaged |
|---|---|---|
| ToastGeneric Primeiro Plano | Supported | Supported |
| Antecedentes do ToastGeneric | Supported | Supported |
| Protocolo ToastGeneric | Supported | Supported |
| Modelos legados | Supported | Não suportado |
Note
Se adicionar o ativador COM à sua aplicação empacotada existente, as ativações de notificação Foreground/Background e Legacy ativarão o seu ativador COM em vez da linha de comando.
Para saber como usar esta opção, consulte Enviar uma notificação local de aplicativos C# do desktop ou Enviar uma notificação local de aplicativos Win32 C++ WRL.
Opção alternativa - sem COM / Stub CLSID
Esta é 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ções do sistema) e ativação no processo.
| Visuals | Actions | Inputs | Ativa-se durante o processo |
|---|---|---|---|
| Supported | Supported | Não suportado | Não suportado |
Com esta opção, se você suporta desktop, então você está muito mais limitado nos modelos de notificação e tipos de ativação que você pode usar, como visto abaixo.
| Modelo e tipo de ativação | Packaged | Unpackaged |
|---|---|---|
| ToastGeneric em Primeiro Plano | Supported | Não suportado |
| Antecedentes do ToastGeneric | Supported | Não suportado |
| Protocolo ToastGeneric | Supported | Supported |
| Modelos legados | Supported | Não suportado |
Para aplicações empacotadas, basta enviar notificações de toast da mesma forma que uma aplicação UWP. Quando o utilizador clicar na sua notificação de toaster, a sua aplicação será lançada a partir da linha de comando com os argumentos de inicialização que especificou na notificação.
Para aplicativos não empacotados, configure o AUMID para que você possa enviar notificações do sistema e, em seguida, especifique também um CLSID no atalho. Pode ser qualquer identificador GUID aleatório. Não adicione o servidor/ativador COM. Você está adicionando um CLSID COM "stub", o que fará com que a Central de Ações persista a notificação. Observe que pode usar apenas notificações de ativação por protocolo, porque o CLSID do stub interromperá a ativação de quaisquer outras notificações. Portanto, você precisa atualizar seu aplicativo para dar suporte à ativação de protocolo e fazer com que o protocolo do sistema ative seu próprio aplicativo.
Resources
Windows developer