Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo Clube Delphi 81 - Criando serviços do Windows
Artigo da Revista Clube Delphi Edição 81.

![]()
Win32
Criando serviços do Windows
A entrada maciça dos sistemas operacionais da Microsoft baseados
Um exemplo disso é o próprio Windows, que aproveita a sua própria tecnologia para efetuar diversas tarefas, tais como: Instalação de Programas, Horário do Windows, Atualizações Automáticas, entre outras. Todas elas encontradas em Painel de Controle>Ferramentas de Sistema>Serviços.
Neste artigo vamos elaborar um pequeno sistema, capaz de efetuar automaticamente a cópia de um banco de dados IB/FB todos os dias, em um horário pré-agendado.
Porque usar Serviços?
Se olharmos um pouco para o passado, mais especificamente para os antigos sistemas operacionais, veremos que era bastante complicado desenvolver tarefas automatizadas que rodassem em tempo real e que funcionassem mesmo que o usuário não logasse na rede. Essa, certamente, é uma das principais vantagens dos serviços.
Podemos determinar que o servidor faça uma checagem de rotina no banco de dados a cada n horas sem intervenção do usuário. Se dispuséssemos apenas de Windows 95 ou 98, teríamos que desenvolver um aplicativo que executado continuamente, faria nossa checagem, mas para isso o usuário deveria logar na rede para que o software fosse disparado e aberto, talvez com uma entrada no registro do Windows ou uma ação de arquivo de lote (BAT). Isso, com certeza, tornaria o aplicativo dependente do usuário.
Porém, se desenvolvermos um Service, o mesmo é adicionado na lista de tarefas do Windows e executado assim que a máquina é ligada, e mesmo que o servidor esteja em modo de standby, o serviço continua funcionando.
Entendendo o projeto
Para entendermos melhor, vamos desenvolver uma aplicação básica que fará uma cópia simples do banco para uma nova pasta. O exemplo terá um arquivo de inicialização (INI) com a Hora, Origem e Destino da cópia (você pode adaptar para verificar juntamente os minutos). Uma thread interna “rodará” continuamente, interceptará o horário e efetuará a cópia, do arquivo GDB.
Existem n aplicabilidades para os serviços, mas para ser mais objetivo o exemplo cabe bem. Então, mão na massa.
Iniciando o projeto
Para iniciar uma nova aplicação, clique em File>New>Other e selecione a opção Service Application (Figura 1).
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Adriano Santos
É especialista Delphi, ex-editor das revistas ClubeDelphi e WebMobile, atualmente é Product Manager na SPK Tecnologia - empresa distribuidora de diversas soluções tecnológicas – e especialista em Microsoft Team Foundation Server.



