O meu programa é freeware para uma empresa de manutenção de 
computadores, a maneira viável que eu e o proprietário encontramos foi 
disponibilizar uma publicidade em todos os computadores que ele vir a 
usar meu programa, então eu resolvi colocar a publicidade como serviço. 
O serviço vai ser executado toda vez que o computador for iniciado sem 
precisar de algum programa ser instalado no computador da pessoa para 
tal. A publicidade ficará sendo executada por 5 dias calculado pela data 
de um arquivo, ou seja, ele pode iniciar o computador quantas vezes 
quiser, mas só contará pelo cálculo da data no arquivo e não do sistema.
Com o serviço fica mais difícil de um leigo vir a remover, já um 
programa no Run do registro é bem mais fácil, porisso que escolhi fazer 
um serviço. A janela que vai aparecer é meramente texto e imagem, não 
faz nada no computador da pessoa, apenas faz a publicidade minha. Não 
acessa internet nem nada a não ser o que disse.
Eu chamo a janela prlo Start. Eu queria saber se o ServiceType em 
stSystem ele seria executado na inicialização do sistema ou isso não 
influi em nada. O comando /INSTALL /SILENCE eu coloco na hora que o 
pessoal está usando meu programa. Daí, o processo será automático?

A publicidade ficará na tela por 10 segundos e fecha, mas o serviço 
ficará "ligado", se o usuário permanecer por mais de 24 horas ele 
aparece novamente.

Eu, usando só o OnStart resolve (sem precisar usar o OnExecute)?
Como faria para esperar o tempo de 24 horas e fazer o sistema ativar 
novamente e executar para abrir a janela da publicidade novamente?

É só isso que preciso fazer. A rotina de gravar data e hora no arquivo 
já está ok, só falta a questão do OnExecute e OnStart e a opção do 
ServiceType o que pode acontecer usando stSystem

Grato



José Mário Silva Guedes escreveu:
>
>
> http://eugostododelphi.blogspot.com/search/label/servi 
> <http://eugostododelphi.blogspot.com/search/label/servi>ço%20do%20windows<http://eugostododelphi.blogspot.com/search/label/servi%C3%A7o%20do%20windows
>  
> <http://eugostododelphi.blogspot.com/search/label/servi%C3%A7o%20do%20windows>>
> Amigon, sendo bem ligeiro:
>
> O TService nada mais é que uma Thread, portanto, o OnExecute do TService
> equivale ao Execute de uma Thread. Pela minha experiência não aconselho a
> programar nada relevante neste OnExecute, criando suas próprias 
> threads para
> fazer o trabalho.
>
> O OnStart ocorre quando o serviço é iniciado, sendo que você pode validar
> algumas condições, podendo abortar a operação, setando a variável Started
> para false, e até mesmo retornando um código de erro.
>
> Sugiro que tome cuidado. Serviço é uma coisa, aplicação desktop é outra
> coisa. Não tente misturar os "dois mundos".
>
> Eu não sei explicar o ServiceType mas acho que sua solução não passa 
> por ai.
>
> .
>
> 

Responder a