http://eugostododelphi.blogspot.com/search/label/serviço%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. [As partes desta mensagem que não continham texto foram removidas]