Pregunta

He estado usando win32api.MessageBox para hacer alertas, y esto funciona para aplicaciones que se ejecutan desde el indicador interactivo y el código normalmente ejecutado, sin embargo, cuando construí un servicio Python cuando se activa un MessageBox puedo escuchar el 'pitido' pero el cuadro no se muestra. ¿Es posible mostrar alertas de los servicios?

¿Fue útil?

Solución

No, los servicios de Windows se ejecutan en un escritorio oculto completamente separado y no tienen acceso al escritorio del usuario conectado. No hay forma de evitar esto desde la perspectiva de un desarrollador de servicios.

En versiones anteriores de Windows, era posible que un servicio se marcara como "permitido interactuar con el escritorio del usuario", pero esta opción se eliminó en XP o Vista (no recuerdo cuál). Ahora, los servicios no pueden interactuar con el escritorio del usuario.

Una solución a su problema podría ser tener una aplicación de escritorio que se comunique con el servicio a través de algún método IPC. Cuando el servicio quiere alertar al usuario de alguna condición, notificará a la aplicación de escritorio que luego mostrará un cuadro de mensaje regular.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top