Ir para conteúdo
Fórum Script Brasil
  • 0

Rodar Programa Como Service


JCampos

Pergunta

Pessoal, estou planejando algumas coisas pra proxima versão do meu programa e uma delas é a necessidade de rodar como service, por alguns motivos:

1- Ele pode monitorar o pc desde que um usuario se logue.. se ele logar e sair pra aquela tela de users do xp ele continua funcionando

2- Ele roda em um usuario, e continua funcionando se outro entrar, so que ele tem uma função pra saber qual esta logado.. e se o segundo entrar no "meio do ciclo" de atualização, aparece o nome do usuario deslogado

Eu pesqusei na net, mas so achei gente querendo fazer o programa ficar invisivel e tal, e aquele RegisterService, se não me engano, não funciona no XP..

Eu quero somente que o programa rode como "usuario SYSTEM" (service).. não me importo que ele seja visivel, ou finalizavel.. o importante é ser service...

Tem como fazer isso?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi....

Tenho as versões 3, 4 e 6 do Delphi e a opção de criar um serviço só existe no Delphi6 e você pode rodá-los no Windows XP Pro, 2000 e 2003.

O jeito de programar é como fazer forms dentro de dll's e o mais importante é você colocar um flag para conseguir parar o serviço ou reiniciá-lo quando você quiser, sem ter que abrir as ferramentas administrativas (no meu caso, do XP e do 2000) para fazer isso.

Para criar um serviço, no Delphi 6, é só abrir a opção File, New, Other, Service Application.

Eu costumo sempre fazer um laço infinito, com uma pausa de 0001 de segundo, assim:

While True do Begin

Sleep(0001);

Try

Begin

{

Serviços (procedures, funções, etc. a serem executadas).

}

If FileExists('c:\windows\flag.txt') then

Begin

// Olha... alguém criou um arquivo com o nome de flag.txt na pasta c:\windows

// e vamos apaga-lo

DeleteFile(PChar('c:\windows\flag.txt'));

End;

{EndIf FileExists('c:\windows\flag.txt')}

End;

Except

// Algum problema aconteceu... continuando...

End;

End;{While True}

OK?

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...