Aplicação + Serviço
Bom pessoal, estou desenvolvendo um projeto Cliente/Servidor básico com "Socket" de gerenciamento de maquina que acessa a camada WMI do Windows.
Quero usar um serviço para para realizar as tarefas na maquina cliente, mas quando chamo uma outra aplicação usando Shell Execute ou WinExc, o comando e executado mas o executável chamado não aparece.
Alguém tem alguma dica sobre como realizar estas interações de Serviço/Aplicação ou ate mesmo como chamar um Form no serviço??
Quero usar um serviço para para realizar as tarefas na maquina cliente, mas quando chamo uma outra aplicação usando Shell Execute ou WinExc, o comando e executado mas o executável chamado não aparece.
Alguém tem alguma dica sobre como realizar estas interações de Serviço/Aplicação ou ate mesmo como chamar um Form no serviço??
Westeyrv
Curtidas 0
Respostas
Alessandro Yamasaki
26/06/2013
Teste o retorno do comando, pois a função possui erro quando o retorno é menor ou igual a 32. Se não retornou erro, mensagem padrão.
GOSTEI 0
Westeyrv
26/06/2013
Desculpe a pergunta mas como realizo este teste? no serviço nao tem debug, para contornar esta situação criei um log que e gravado normalmente antes e depois do camando.
ex. SalvaLog('este 1');
shellexecute(...);
SalvaLog('este 2');
obs. em uma aplicação comum o comando funciona normal.
Desde ja obrigado!
ex. SalvaLog('este 1');
shellexecute(...);
SalvaLog('este 2');
obs. em uma aplicação comum o comando funciona normal.
Desde ja obrigado!
GOSTEI 0
Rodolpho Silva
26/06/2013
Desculpe a pergunta mas como realizo este teste? no serviço nao tem debug
Tem sim. Segue os passos:
1-Compile seu serviço
2-Inicie-o
3-Vá no Delphi e selecione a opção Run\Attach to Process
4-Selecione o seu serviço na lista e clique em Attach
Pronto! O debug do Delphi já estará monitorando seu serviço.
Agora sobre o problema original do post, se não me engano, a Microsoft em uma determinada versão do Windows impediu (como medida de segurança) que os serviços interagisse com com o SO em alguns pontos (como exibir janelas, etc...). Não tenho mais o link original (pois li isso a uns 3 anos atras) mas acredito que deve ser isso que está impedindo seu serviço de chamar outro executável. Existe até uma propriedade no TService (interactive) que não importa o valor, não funciona nas versões atuais do Windows. Está lá apenas para compatibilidade com versões anteriores.
Espero ter ajudado.
GOSTEI 0
Westeyrv
26/06/2013
Ok ,obrigado pela resposta esta mesmo com esta duvida. Mas existe outra maneira para eu chamar um executavel apenas na hora que eu precisar, sem que o Usuário consiga mexer.
Exemplo. Chamar um chat.
Exemplo. Chamar um chat.
GOSTEI 0
Rodolpho Silva
26/06/2013
Bem, você pode tentar ao invés de usar como serviço, usar como aplicação.
GOSTEI 0