SERVICO NO WINDOWS

LUIS.FLAVIO 21/07/2010 14:59:01
#348050
Pessoal estou precisando urgente da ajuda de vocês,

Preciso coloca uma aplicação como serviço no Windows, esse sistema tem um timer que fica rodando de 10 segundos fazendo alguns processos, hoje tenho que logar na maquina para esse sistema funcionar e esse sistema deve ficar ligado 24 mas quando alguem não está em logoff ou faz um logoff o sistema caiu, colocando com Serviço do Windows aí não preciso logar na máquina.

Me ajudam pessoal
MADMAX 22/07/2010 07:32:33
#348085
Resposta escolhida
Editei ... Depois dei uma caçada aqui no vb mania tenta estes tambem ..tudo de serviço.

http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=4900
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=1373
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6166
http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=6167

Aplicação rodando como Serviço

Alguns sistemas precisam operar mesmo quando a máquina está deslogada ou antes de passar pela tela de login.
A forma de fazer isto é trabalhar com serviços.
Serviços permitem que o sistema operacional inicie sua aplicação mesmo antes de alguém se logar.

Apesar de o VB não ser a ferramenta ideal para este tipo de solução, existe uma OCX (NTSVC.OCX), que com algumas limitações,
permite a criação destes aplicativos.

Coloque a NTSVC em seu form principal e cole o seguinte código em sua função Main ou no Form Load...


Select case uCase(Command$)
[ô]instala servico
Case [Ô]-I[Ô], [Ô]/I[Ô]
ntsvc1.Install
EncerrarPrograma

[ô]remove servico
Case [Ô]-U[Ô], [Ô]/U[Ô]
ntsvc1.Uninstall
EncerrarPrograma

[ô]inicia servico
Case Else
ntsvc1.StartService
End Select


Para iniciar seu serviço, execute o aplicativo passando como parametro de iniciação (pela primeira vez) [Ô]-i[Ô] ou [Ô]/i[Ô].
O programa apenas instala o serviço e fecha - A função EncerrarPrograma não é foco da discussão.

Abra novamente seu aplicativo - agora sem qualquer parametro - seu serviço foi iniciado.
Para verificar isto, vá em Painel de Controle - Ferramentas Administrativas - Serviços, e verifique se existe um serviço novo.
Note que você pode definir o nome que quer para seu serviço nas propriedades da OCx.

Se tudo estiver correto, o serviço estará listado e iniciado. Se você der um [Ô]Deslogar[Ô] ou se reiniciar o micro, antes de
entrar com um usuário, o programa estará em operação.

Para encerrar seu serviço, rode novamente seu aplicativo passando o argumento [Ô]-u[Ô] ou [Ô]/u[Ô]


Situações onde isto é aplicável:

Sistemas críticos (24/7) - operações que precisam se comunicar com dispositivos externos (rede ou serial) e que não podem
ser fechados.

Sistemas de Log - Para log de operações é interessante também... ele pode verificar o uso de sua máquina e registrar em
algum arquivo.

Sistemas de Schedulling - você pode mandar o micro se logar e iniciar outro aplicativo para executar alguma operação.


Observações:

a) Quando um serviço é iniciado, ele roda em background e você não consegue acessá-lo diretamente - então é importante ter em
mente que o serviço não tem interface gráfica - normalmente uso uma tela para colocar a OCX e configurar a operação.
Esta tela nunca é acessada novamente.

b) O serviço é um tipo de [Ô]usuário convidado[Ô] e por isso tem suas limitações de acesso. Não tente escrever arquivos em
pastas específicas ou no registro do windows - provavelmente o sistema operacional não vai permitir está operação.

c) é importante ter um tratamento de erro em TODAS as funções - se não houver muito o que ser feito para prever erros,
usar [Ô]ON ERROR RESUME NEXT[Ô] é altamente recomendável.

d) o uso de serviços é restríto a Sistemas Operacionais que suportam isto - ou seja - plataforma NT (NT4, 2000, XP...)

e) O arquivo ntsvc.ocx pode ser encontrado para download em n sites (procurar em google por Download NTSVC.OCX)


Autor: Bruno Machado
RICATOM 22/07/2010 09:25:54
#348097
Nao testei mas parece que faz o que precisa:

http://support.microsoft.com/kb/251192/pt-br
Tópico encerrado , respostas não são mais permitidas