Comment puis-je montrer une Zone de Notification de Ballon et une Icône à partir d'un Service Windows?
J'ai un Service Windows qui est toujours en cours d'exécution lorsque l'utilisateur commence à leur poste de travail. Ce Service Windows est critique et je voudrais afficher une Bulle de Notification dans la Zone de Notification lorsque certaines choses telles que le Service s'Arrête, Commence, Redémarre etc.
Par exemple:
Aussi, est-il possible d'afficher une Icône de Zone de Notification pour mon Service Windows?
- Ce post peut aider: stackoverflow.com/questions/2652254/... Un service ne peut pas avoir directement une icône de barre de tâche.
Vous devez vous connecter pour publier un commentaire.
Les jours de Windows services interagissant directement avec le bureau plus de, de sorte que vous devez trouver un autre moyen.
Ce que j'ai fait est de créer un normal WinForms application qui comprend un NotifyIcon. Le comportement de cette application imite celle du Gestionnaire des Tâches, tel qu'il peut être caché dans la barre des tâches et uniquement visible dans la barre d'état système. Si je cliquez-droit sur l'icône de plateau de système, j'obtiens un menu. Si je double-clique sur l'icône, la fenêtre de l'application est affiché.
De faciliter la communication entre les WinForms application et le service de Windows, j'utilise de la WCF. Plus précisément, j'utilise Juval Lowy's Publish-Subscribe Cadre, qui fonctionne vraiment bien pour ce genre de scénario. Voir ma réponse ici pour plus de détails.
Espère que cette aide.
Notre nouveau (et gratuit) ServiceTray utilitaire vous permettra de contrôler votre service à partir d'une icône de plateau. Il permettra également d'afficher des pop-up/ballon des notifications quand il détecte que votre service a changé d'état (main-> arrêtés, etc).
Si vous voulez juste pour envoyer une commande simple à votre service Windows, vous pouvez envoyer un message à partir de votre application utilisateur de la manière suivante.
Si vous remplacez la OnCustomCommand méthode en vous classe les étend ServiceBase.
Vous pouvez ensuite utiliser cette commande pour déclencher le service à faire quelque chose comme de recharger un fichier de config, ou de passer à un état.