Partager via


Activation des notifications toast depuis des applications de bureau

Les applications Win32 empaquetées et non empaquetées peuvent envoyer des notifications toast interactives comme les applications UWP. Cela inclut des applications empaquetées (voir Créer un projet pour une application de bureau WinUI 3 empaquetée) ; applications empaquetées avec emplacement externe (voir Accorder une identité de package en empaquetant avec un emplacement externe) ; et applications non empaquetées (voir Créer un projet pour une application de bureau WinUI 3 non empaquetée).

Toutefois, pour une application Win32 non empaquetée, il existe quelques étapes spéciales. Cela est dû aux différents schémas d’activation et à l’absence d’identité de package au moment de l’exécution.

Dans cette rubrique, nous allons répertorier les options dont vous disposez pour envoyer une notification toast sur Windows 10. Chaque option prend entièrement en charge...

  • Maintien dans le Centre de notification
  • Être activable à partir du popup et à l’intérieur du Centre de notifications
  • Être activable lorsque votre EXE n'est pas en cours d'exécution

Toute les options

Le tableau ci-dessous illustre les options de support des toasts au sein de votre application de bureau et les fonctionnalités associées prises en charge. Vous pouvez utiliser la table pour sélectionner la meilleure option pour votre scénario.

Option Visuals Actions Inputs S'active dans le processus
Activateur COM Supported Supported Supported Supported
Aucun COM / Stub CLSID Supported Supported Non prise en charge Non prise en charge

Option préférée - Activateur COM

Il s’agit de l’option préférée qui fonctionne pour les applications de bureau et prend en charge toutes les fonctionnalités de notification. N’avez pas peur de l’activateur COM ; nous avons une bibliothèque pour les applications C# et C++ qui rend cette opération très simple, même si vous n’avez jamais écrit un serveur COM auparavant.

Visuals Actions Inputs S'active en cours
Supported Supported Supported Supported

Avec l’option d’activateur COM, vous pouvez utiliser les modèles de notification et les types d’activation suivants dans votre application.

Type de modèle et d’activation Packaged Unpackaged
Premier plan ToastGeneric Supported Supported
Arrière-plan ToastGeneric Supported Supported
Protocole ToastGeneric Supported Supported
Modèles hérités Supported Non prise en charge

Note

Si vous ajoutez l’activateur COM à votre application empaquetée existante, les activations de notifications en premier plan, en arrière-plan et les activations de notifications anciennes activeront votre activateur COM au lieu de votre ligne de commande.

Pour savoir comment utiliser cette option, consultez Envoyer une notification toast locale à partir d’applications C# de bureau ou Envoyer une notification toast locale à partir d’applications WRL Win32 C++.

Option alternative - Aucun COM / CLSID Stub

Il s’agit d’une autre option si vous ne pouvez pas implémenter d’activateur COM. Toutefois, vous sacrifierez quelques fonctionnalités, telles que la prise en charge des entrées (zones de texte sur les toasts) et l’activation dans le processus.

Visuals Actions Inputs Active le processus en cours
Supported Supported Non prise en charge Non prise en charge

Avec cette option, si vous assurez la prise en charge du bureau, vous êtes beaucoup plus limité dans les modèles de notification et les types d’activation que vous pouvez utiliser, tel qu'illustré ci-dessous.

Type de modèle et d’activation Packaged Unpackaged
ToastGeneric Premier plan Supported Non prise en charge
Arrière-plan ToastGeneric Supported Non prise en charge
Protocole ToastGeneric Supported Supported
Modèles hérités Supported Non prise en charge

Pour les applications empaquetées, envoyez simplement des notifications toast comme une application UWP. Lorsque l’utilisateur clique sur votre toast, votre application est lancée en ligne de commande avec les arguments de lancement que vous avez spécifiés dans le toast.

Pour les applications non empaquetées, configurez l’AUMID afin que vous puissiez envoyer des toasts, puis spécifier un CLSID sur votre raccourci. Il peut s’agir de n’importe quel GUID aléatoire. N’ajoutez pas le serveur/activateur COM. Vous ajoutez un CLSID COM « stub », ce qui permet au Centre de notifications de conserver la notification. Notez que vous pouvez utiliser uniquement des toasts d’activation de protocole, car le CLSID stub interrompt l’activation de tous les autres toasts. Par conséquent, vous devez mettre à jour votre application pour qu'elle prenne en charge l’activation du protocole, et vous devez faire en sorte que le protocole du toast active votre propre application.

Resources