notificaciones windows 10 c#
¿Cómo puedo mostrar un globo y un ícono del área de notificación de un servicio de Windows? (3)
Tengo un servicio de Windows que siempre se ejecuta cuando el usuario inicia su estación de trabajo. Este servicio de Windows es crítico y me gustaría mostrar una notificación de globo en el área de notificación cuando ocurren ciertas cosas, como paradas del servicio, inicios, reinicios, etc.
Por ejemplo:
Además, ¿hay alguna manera de mostrar un ícono del área de notificación para mi servicio de Windows?
Si solo desea enviar un comando simple a su servicio de Windows, puede enviar un mensaje desde su aplicación de usuario de la siguiente manera.
ServiceController myService = new ServiceController("YOUR Service Name");
myService.ExecuteCommand(123); // do something;
Si anula el método OnCustomCommand en su clase, se extiende el ServiceBase. A continuación, puede usar este comando para activar el servicio y hacer algo así como volver a cargar un archivo de configuración o cambiar a algún estado.
Nuestra nueva (y gratuita) utilidad ServiceTray le permitirá controlar su servicio desde un icono de bandeja. También mostrará notificaciones pop-up / balloon cuando detecte que su servicio ha cambiado de estado (started-> stopped, etc.).
Los días en que los servicios de Windows interactúan directamente con el escritorio han terminado, por lo que debe buscar otra forma.
Lo que hice fue crear una aplicación WinForms normal que incluye NotifyIcon. El comportamiento de esta aplicación imita al del Administrador de tareas, de modo que se puede ocultar de la barra de tareas y solo se puede ver en la bandeja del sistema. Si hago clic con el botón derecho en el icono de la bandeja del sistema, aparece un menú. Si hago doble clic en el icono, se muestra la ventana de la aplicación.
Para facilitar la comunicación entre la aplicación WinForms y el servicio de Windows, utilizo WCF. Específicamente, utilizo el Framework Publish-Subscribe de Juval Lowy , que funciona muy bien para este tipo de escenario. Vea mi respuesta aquí para más detalles.
Espero que esto ayude.