Pergunta

Eu estive usando win32api.MessageBox fazer alertas, e isso funciona para aplicativos em execução a partir do código rápida e normalmente executada interativo, no entanto, quando eu construí um serviço de Python quando um MessageBox é acionado Eu posso ouvir o 'beep' mas o O caixa não exibir. É possível exibir alertas de serviços?

Foi útil?

Solução

Não, os serviços do Windows executado em um ambiente de trabalho completamente separado escondido e não têm acesso ao registado no desktop do usuário. Não há maneira de contornar isso da perspectiva de um desenvolvedor de serviço.

Em versões anteriores do Windows, era possível para um serviço a ser marcado como "permissão para interagir com a área de trabalho do usuário", mas esta opção foi removida no XP ou Vista (não me lembro qual). Agora, os serviços não pode interagir com o desktop do usuário.

Uma solução para o seu problema pode ser ter uma aplicação desktop que se comunica com o serviço através de algum método IPC. Quando o serviço quer para alertar o usuário de alguma condição, seria notificar a aplicação desktop que iria em seguida, exibir uma caixa de mensagem regular.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top