Meu exe funciona muito bem por si só, mas não faz nada quando carregado por um serviço de
-
21-08-2019 - |
Pergunta
exe simples para um ícone da bandeja, que funciona bem independentemente
Eu chamá-lo usando um serviço do Windows, e parece estar a correr (no gerenciador de tarefas), mas ele não funciona nos parecem exec qualquer código. ou seja, sem bandeja ícone etc.
Solução
No Vista e Windows 2008, os serviços são executados em uma sessão diferente do usuário - qualquer EXE que um serviço é executado será executado na mesma sessão como o serviço. Antes Vista, você precisa verificar a caixa "Permitir serviço para interagir com área de trabalho", caso contrário a mesma coisa se aplica.
Isto significa que sua bandeja ícone EXE não é capaz de interagir com o desktop do usuário. Você precisa olhar para usar CreateProcessAsUser para executar o EXE na sessão correta.
Este post é destinado a pessoas que utilizam ConfigMgr oS Deployment, mas contém uma boa lista dos passos necessários para executar um processo em outra sessão. Existem alguns passos não-óbvias que você precisa tomar ou as coisas falham em formas estranhas.