¿Cómo puedo mostrar un icono de bandeja de sistema para el servicio de ventana C#.?¿Cómo puedo mostrar un ícono de bandeja de sistema para el servicio de ventana C#?
Respuesta
Los servicios se ejecutan en una estación de ventana diferente que el usuario que ha iniciado sesión, por lo que no puede tener un icono de bandeja de sistema para ellos. De https://docs.microsoft.com/en-us/dotnet/framework/windows-services/introduction-to-windows-service-applications:
Las aplicaciones de servicio de Windows se ejecutan en una estación de ventana diferente de la estación interactiva del usuario que ha iniciado sesión. Una estación de ventana es un objeto seguro que contiene un Portapapeles, un conjunto de átomos globales y un grupo de objetos de escritorio. Debido a que la estación del servicio de Windows no es una estación interactiva, los cuadros de diálogo generados desde una aplicación de servicio de Windows no se verán y pueden hacer que su programa deje de responder. Del mismo modo, los mensajes de error deben registrarse en el registro de eventos de Windows en lugar de aparecer en la interfaz de usuario.
Las clases de servicio de Windows compatibles con .NET Framework no admiten la interacción con estaciones interactivas, es decir, el usuario que ha iniciado sesión. .NET Framework tampoco incluye clases que representan estaciones y escritorios. Si su servicio de Windows debe interactuar con otras estaciones, necesitará acceder a la API de Windows no administrada. Para obtener más información, consulte la documentación de Windows SDK.
La interacción del servicio de Windows con el usuario u otras estaciones debe diseñarse cuidadosamente para incluir escenarios como que no haya ningún usuario conectado o que el usuario tenga un conjunto inesperado de objetos de escritorio. En algunos casos, puede ser más apropiado escribir una aplicación de Windows que se ejecute bajo el control del usuario.
Aquí hay un par de enlaces sobre cómo escribir en la bandeja del sistema. Necesitará otra aplicación para interactuar con el servicio, ya que el servicio no puede tener un ícono directamente en la bandeja del sistema.
How can I make a .NET Windows Forms application that only runs in the System Tray?
y
http://msdotnetsupport.blogspot.com/2008/02/cnet-application-windows-system-tray.html
No puede, no directamente, porque el servicio de Windows necesariamente se iniciará cuando la máquina lo haga, no cuando un usuario inicie sesión. El servicio también se ejecutará en un contexto diferente, probablemente como un usuario diferente.
Lo que puede hacer es escribir un "controlador" basado en la bandeja del sistema que interactúa con el servicio.
- 1. PyQt: Mostrar menú en una aplicación de bandeja de sistema
- 2. ¿Cómo se crea un ícono de Bandeja con FireMonkey?
- 3. ¿Cómo cargar un ícono de sistema pequeño?
- 4. WPF Aplicación que solo tiene un ícono de bandeja
- 5. Un solo clic para abrir el menú del ícono de bandeja en C#
- 6. Ventana de JavaFX 2.0 a la bandeja
- 7. ¿Cómo puedo mostrar un globo y un ícono del área de notificación de un servicio de Windows?
- 8. ¿Cómo mostrar el ícono del sistema para un archivo en SWT?
- 9. Fuerza de Windows para mostrar un icono de la bandeja del sistema
- 10. Icono de la bandeja del sistema en C++
- 11. Cómo iniciar automáticamente el servicio de ventana
- 12. Mostrar AlertDialog como ventana de superposición del sistema desde el Servicio
- 13. C# Como reemplazar reloj de la bandeja del sistema
- 14. Cómo crear icono de la bandeja de sistema de WPF cuando no existe una ventana de acogida "principal"
- 15. ¿Cómo puedo saber si una punta de Globo en la bandeja del sistema se ha cerrado?
- 16. Icono de la bandeja del sistema con C# Console La aplicación no mostrará el menú
- 17. Actualizando iconos de la bandeja del sistema programáticamente
- 18. Mejor tamaño de icono para mostrar en la bandeja
- 19. ¿Cómo puedo configurar un ícono para un ListViewSubItem?
- 20. ¿Cómo solicito a Windows el tamaño de los iconos de la bandeja del sistema?
- 21. ¿cómo puedo obtener el ícono de archivo?
- 22. ¿Cómo mostrar el texto en el icono de la bandeja del sistema con la API de win32?
- 23. Icono de notificación para servicio de ventana
- 24. Animación del icono de bandeja
- 25. El icono de la bandeja del sistema aparece distorsionado
- 26. Icono de bandeja parpadeante
- 27. ¿Cómo iniciar la aplicación directamente en la bandeja del sistema? (.NET C#)
- 28. Ocultar mi programa en la Bandeja del sistema en Windows
- 29. ¿Cómo cambiar el ícono de Firefox?
- 30. JavaFX aplicación en la bandeja del sistema