• Telefones de Contato
  • 0-xx-(51) 3717-3796
  • 0-xx-(51) 9627-3434
Comprar Cursos e Video-Aulas Cursos Online com Certificado Comprar Livros Tutoriais e Artigos Foruns de Discussao
 Você está aqui: Principal > Artigos > Windows
  :: Autor: Rodrigo Crespi   :: Site:     www.crespi.pro.br/
  :: Data:  21/12/2005   :: e-mail: rodrigo@crespi.pro.br
CURSOS ONLINE COM CERTIFICADO
Profiss. de Flash
Programação para Web
Corel Draw X4
Profissionalizante de Informática
Projeto de Redes LAN
Curso de MS Project 2007
Curso de Photoshop
Windows Server 2003
Dominando o Linux
Fundam. de Redes TCP/IP
Profission. de Vendas
Profission. de Redes
Gerência Financeira
Hardware
Criação de Sites
Redes Wireless
Gerência de Projetos
SQL Server 2005
LIVROS
Júlio Battisti
Excel
Word
Windows e Linux
Redes
Programação
Certificações Microsoft e...
Banco de Dados
Webdesign
Gráficos e CorelDraw
Segurança
Aplicativos
Carreira e Sucesso Profis...
Cultura e Interesse Geral
Administração e Negócios
Office 2007
Hardware e Montagem
AutoCAD
Finanças e Investimentos
VÍDEO-AULAS
Access
Excel
Word
PowerPoint
Windows
Programação
Concursos Públicos
Banco de Dados
Webdesign
Internet
CAD
Vídeo e Áudio
Programas Gráficos
Administração e Negócios
CURSOS/E-BOOKS
Access
Excel
Word
PowerPoint
Windows
Redes e TCP/IP
Programação
Certificações Microsoft
Concursos Públicos
Banco de Dados
Webdesign
Internet
BrOffice
Linux
CAD
Vìdeo
Formação Pessoal e Profis...
Área Gráfica
Literatura e Outros
Administração e Negócios
Vídeo-Aulas de Word
OFERTAS ESPECIAIS
ASP.NET 3.5 Para Leigos
Desenvolvendo para web ...
Dossiê Hacker
Joomla - Guia do Operad...
MS Project 2007 e Proje...
Terminais sem Hard Disk
Universidade Hacker - 6...
MAIS VENDIDOS
ASP.NET 3.5 Para Leigos
Desenvolvendo para web ...
Joomla - Guia do Operad...
MS Project 2007 e Proje...
Terminais sem Hard Disk
Universidade Hacker - 6...
Criando uma aplicação Windows Service

Introdução

As aplicações Windows Services possuem recursos para rodar continuamente, normalmente são device driver ou outros serviços operacionais. Uma aplicação Windows service pode ter um status de habilitado ou desabilitado conforme os requisitos do cliente. Bom exemplo para este tipo de aplicação é o Microsoft SQL Server que fica continuamente rodando no servidor, sempre esperando alguma interação do usuário. O .NET Framework tem uma classe que disponibiliza as funcionalidades básicas para uma aplicação Windows Service.
Neste artigo vou usar as duas principais classes para criar uma aplicação Windows Service e debulhar essa aplicação. As Classes utilizadas serão:

  • System.ServiceProcess.ServiceBase;
  • System.ServiceProcess.ServiceController.

Breve introdução às aplicações Windows Service

Uma aplicação Windows Service pode rodar em servidor ou estação de trabalho. Além disso, são frequentemente usados para executar o monitoramento de algum sistema, ou auxiliar algum sistema em tarefas que não dependem da interação com usuários.

Todo Windows Service roda com permissão de algum usuário, independente dos usuários ou programas que estão rodando no mesmo computador, estas aplicações rodam sob uma identidade de segurança, ou seja, não necessariamente a que está ligada na máquina no momento.

Observe que uma aplicação Windows Service não possuí interface com elementos iguais a outras aplicações windows como:  text box, combo box e etc. Um windows service não provê meios de interação com o usuário. E irá reportar o resultado e os seus eventos ao usuário através de mensagens no evento log.

O administrador poderá interagir e gerenciar uma aplicação Windows Service usando o Component Services.

Estas ferramentas se encontram em diferentes menus dependendo do sistema operacional que está usando, no Windows XP encontra-se em:

Start / Control Panel / Administrative Tolls / Component Services

O Component Services no nodo Services exibe uma lista com todos os serviços que estão registrados no sistema operacional. Para cada serviço podemos ver o nome, descrição e o status (Started, Paused ou Stopped), O tipo de inicialização (automática no boot ou manual) e a identidade do serviço. Ainda usando os menus e a toolbar temos acesso a comandos como: Start, stop, pause, continue e restart. Também podemos ver as propriedades da aplicação na caixa de diálogo e alterar as configurações do serviço.

Como alternativa podemos visualizar os Windows Services rodando no computador diretamente do Visual Studio .Net usando o Server Explorer. Para abrir o Server Explorer siga os passoas abaixo:

Passo 1: Abra um novo projeto com o Visual Studio .NET, acesse a janela Server Explorer.

Passo 2: Expanda o nodo Servers.

Conhecendo o ServiceBase Classe

Vamos conhecer os requisitos básicos para criar uma aplicação Windows Service, podemos concentrar a criação de um serviço com funções customizadas, para isso nós implementaremos um método parente do ServiceBase Class.  O ServiceBase Class também define propriedades que podemos setar para causar efeito no serviço.

Métodos do ServiceBase Class:

  • OnContinue : Este método é usado para continuar rodando o serviço depois que ele for pausado;
  • OnCustomCommand : Usado quando é necessário implementar ações customizadas pelo objeto ServiceController;
  • OnPause : Este método roda quando existir a necessidade de pausar o serviço.
  • OnPowerEvent : Método chamado quando o status de energia do computador for alterado;
  • OnShutdown : Este método roda antes do computador ser desligado;
  • OnStart : O código contido neste método roda quando o serviço é inicializado;
  • OnStop: O código implementado neste método roda quando o serviço for parado.

Propriedades do ServiceBase Class

  • AutoLog : Se esta propriedade é setada para True em nos eventos de iniciar, parar, pausar e continuar entrará com o registro no Windows Application Evento Log;
  • CanHandlePowerEvent : Quando estiver com o valor igual a True poderá ser editado um código customizado para o OnPowerEvent. Irá permitir que execute algumas ações especiais;
  • CanPauseAndContinue : Quando o valor estiver True permite que o serviço seja pausado;
  • CanShutdown : O valor True permite escrever um código customizado para o método OnShutDown;
  • CanStop : Normalmente o valor desta propriedade é setado para True e permite que o serviço possa ser parado;
  • EventLog :  Se o AutoLog estiver setado para True a mensagem será escrita pelo Windows Application Event Log. Se setado para False poderá ser especificado uma mensagem customizada;
  • ServiceName : Seta ou retorna o nome do serviço.

Criando uma aplicação Windows Service com o Visual Studio .NET

O .NET Framework tem classes que incluem funcionalidades para criarmos um Windows Service e essas classes estão sob o namespace System.ServiceProcess. O Visual Studio .NET oferece um template de projeto que automaticamente seta a referencia para este namespace e também prove alguns código de exemplo.

Para criar a nossa primeira aplicação Windows Service acesse o Visual Studio .NET e siga os passos abaixo:

1. Abra um novo projeto no Visual Studio .NET, em Project Types selecione Visual Basic Projects, em Templates selecione Windows Service; após defina a localização a onde será gravado o fonte deste aplicativo e defina o nome do projeto como WindowsService1.

Na tela que segue clique em: click here to switch to code view. Para que o Visual Studio .NET exiba o código do template.

A próxima tela contém o código do template que será exibido.

Se expandirmos o nodo References no Solution Explorer Window, poderemos ver a referencia que foi adicionada do System.ServiceProcess.

O código default também tem dois procedimentos definidos: OnStart e OnStop. Poderemos adicionar o código customizado para esses e outros métodos implementando o nosso Windows Service.

2. Acesse a guia Service1.vb [Design], nas propriedades do serviço na janela Properties altere as propriedades: AutoLog para False e CanStop para True.

3. Exiba o Visual Studio .NET Toolbox e clique na guia Components. Arraste para área de projeto o componente EventLog.

4. Selecione o componente EventLog1 e nas propriedades altere a propriedade nome para “NossoLog”

5. Expanda o Component Designer Generated Code. Adicone o código no Public Sub New().Este código inicializa um evento de log.

6. Adicione o código para os eventos: OnStart e OnStop. Este código irá registrar a entrada no log conforme o evento.

Concluímos aqui a implementação do nosso Windows Service, para a nossa aplicação rodar, vamos ter que instalar o serviço para que o windows possa iniciar a aplicação. Segue passo a passo como criar a instalação do nosso Windows Service.

1. Clique no Service1 [Design] e exiba a janela de propriedades, no final das janela de propriedades tem um link Add Installer.

2. Clique neste link e observe que no nosso Solution Explorer apareceu mais uma classe chamada ProjectInstaller.vb

É interessante observar que no nosso design da nova classe aparecem dois componentes.

3. Clique ServiceProcessInstaller1 e exiba a janela de propriedades. Selecione a propriedade Account e escolha LocalSystem.

4. Clique em ServiceInstaller1 e exiba a janela de propriedades. Selecione StartType e escolha a opção Automatic.

5. Vamos gerar o nosso serviço para isso, clique com o botão direito do mouse sobre o nome do projeto no Solution Explorer e selecione Build.

6. Selecione a solução no Solution Explorer e clique o menu File/Add Project/ New Project, no Add New Project dialog box selecione Setup and Deployment Projects e selecione o Setup Project Template. O nome para o novo projeto é: NossoLogSetup.

7. No Solution Explorer, clique com o botão direito sobre o NossoLogSetup, selecione Add/Project Output do menu. O Add Project Output Group Exibe será exibido selecione o Primary Output e clique em OK.

8. Novamente como botão direito sobre o NossoLogSetup, selecione View/Custom Actions. Irá aparecer no canto superior esquerdo da tela um item Custom Actions, clique com o botão direito sobre e escolha Add Custom Action. Selecione o Item Primary  Output e deixe este como Active.

9. Clique com o botão direito sobre o nome do projeto no Solution Explore e escolha Build

Instalando e testando Windows Service

1. Dentro do subdiretório Debug do projeto NossoLogSetup irá existir um arquivo Windows Installer com o nome NossoLogSetup.msi. Um duplo clique sobre este arquivo para iniciar a instalação;

2. Aparecerá na tela um Setup Wizard. Aceite tudo no padrão para completar a instalação;

3. Execute o Service Control Manager para verificar se o serviço está instalado corretamente. Para isso siga: Start/Programs/Administrative Tools/Services. Encontraremos o Service1 na lista de serviços.

4. Clique com o botão direito sobre o serviço e escolha propriedades, inicie o serviço.

5. Clique Start/Programs/Administrative Tools/Event Viewer para visualizar o log do nosso serviço.

Conclusão

Aprendemos como funcionam os Serviços do windows e como criar uma aplicação Windows Service. Os serviços do windows sempre rodam no background do sistema operacional e são os responsáveis pelas tarefas essenciais como: serviços de impressão, serviços de e-mail e etc.

O exemplo acima ilustra como é fácil, criar serviços do sistema operacional usando os recursos de classes do .NET Framework e o ambiente de desenvolvimento do Visual Studio .NET.


Web site: www.crespi.pro.br

email: rodrigo@crespi.pro.br




CURSOS ONLINE COM CERTIFICADO E SUPORTE
Gerência de Projetos SQL Server 2005 Gerência Financeira Windows Server 2003
MS Project 2007 Photoshop Projeto e Interconexão de Redes LAN Técnico Profissionalizante de Informática
Profissionalizante de Flash      
CURSO EM FORMATO DE VÍDEO-AULA
EXEMPLOS PRÁTICOS PASSO A PASSO COM SOM E IMAGEM
Clique no curso para informações detalhadas
Curso Duração Informações
ACCESS
Vídeo-Aula - Access 2007 - Curso Básico 2h01m Clique aqui
Vídeo-aula - Access 2007 - Tudo Sobre Consultas 2h30m Clique aqui
Vídeo-Aula - Curso Avançado de Access 2003 2h48m Clique aqui
Vídeo-Aula - Curso Básico de Access 2003 2h49m Clique aqui
EXCEL
Vídeo-aula - Criando uma Agenda no Excel 40m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Avançado 11h27m Clique aqui
Vídeo-aula - Curso de Macros e Programação VBA no Excel - Básico e Int... 13h02m Clique aqui
Vídeo-aula - Excel 2003 - Curso Básico 3h03m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Avançado 2h30m Clique aqui
Vídeo-Aula - Excel 2007 - Curso Básico 2h35m Clique aqui
Vídeo-Aula - Tabelas Dinâmicas Avançadas no Excel 2003 2h Clique aqui
Vídeo-aula - Tudo Sobre Funções Matriciais no Excel 2h30m Clique aqui
Vídeo-Aula - Tudo Sobre Gráficos no Excel 9h Clique aqui
Vídeo-aula interativa: Tudo Sobre Tabelas Dinâmicas no Excel 2003 2h30m Clique aqui
WORD
Vídeo-Aula - Curso Básico de Word 2003 2h14m Clique aqui
Vídeo-aula - Word 2003 Avançado 1h34m Clique aqui
Vídeo-aula - Word 2003 Básico 2h14m Clique aqui
Vídeo-Aula - Word 2007 - Curso Básico 2h23m Clique aqui
POWERPOINT
Vídeo-Aula - Curso Básico de PowerPoint 2003 2h22m Clique aqui
WINDOWS
Vídeo-Aula - Curso Básico de Windows XP 2h36m Clique aqui
Vídeo-Aula - Windows XP - Formatação e Instalação 3h47m Clique aqui
Vídeo-Aula - Windows XP Básico + Intermediário + Dicas Práticas 8h Clique aqui
PROGRAMAÇÃO
Vídeo-Aula - CALCULADORA HP 12C - Curso Prático em 80 Lições 02h30m Clique aqui
Vídeo-Aula - CALCULADORAS HP 50G - 49G/G+ - 48 GII -- Clique aqui
Vídeo-Aula - Curso Completo de Lógica de Programação 22h15m Clique aqui
Vídeo-Aula - Lógica de Programação com VB.NET 14h Clique aqui
CONCURSOS PÚBLICOS
Vídeo-aula - Excel Para Concursos Públicos - Simulados e Provas Coment... 2h Clique aqui
Vídeo-Aula - Matemática Básica - Módulo I 22h Clique aqui
Vídeo-aula - Matemática Financeira - Teoria e Prática 9h10m Clique aqui
Vídeo-Aula - Raciocínio Lógico - Curso Completo e Prático 12h Clique aqui
Vídeo-aula - Série Concursos: Inglês ESAF - Simulados e Provas Comenta... 2h Clique aqui
BANCO DE DADOS
Vídeo-Aula - Dominando o ORACLE - Curso Prático 12h Clique aqui
Vídeo-Aula - MySQL - Curso Completo e Prático 11h30m Clique aqui
Vídeo-aula - SQL Server 2005 - Reporting Services 2h30m Clique aqui
WEBDESIGN
Vídeo-Aula - Criação de Sites - Curso Básico 2h53m Clique aqui
Vídeo-Aula - Criando Blogs Profissionais - Curso Completo 45m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos Avançados com DreamWeaver CS3, PH... 4h54m Clique aqui
Vídeo-Aula - Criando Sites Dinâmicos com DreamWeaver CS3, PHP e MySQL 4h05m Clique aqui
Vídeo-Aula - Criando uma Loja Virtual com PHP e MySQL - Curso Completo 19h Clique aqui
Vídeo-Aula - Curso Completo de PHP + HTML + CSS 27h35m Clique aqui
Vídeo-Aula - DreamWeaver CS4 - Curso Prático 1h53m Clique aqui
Vídeo-aula - Flash CS3 - Básico e Prático 4h45m Clique aqui
Vídeo-Aula - Flash MX - Curso Básico 2h26m Clique aqui
Vídeo-Aula - HTML - Curso Prático 2h40m Clique aqui
Vídeo-Aula - Tableless - Crie Sites 100% nos Padrões Web 4h10m Clique aqui
INTERNET
DVD: Hardware - Curso Básico 58m Clique aqui
Vídeo-Aula - Curso de Microinformática Prática 4h35m Clique aqui
Vídeo-aula - Curso Prático de Internet 40m Clique aqui
Vídeo-aula - Curso Prático de Outlook Express 55m Clique aqui
CAD
Vídeo-Aula - Curso de Autocad 2D 4h Clique aqui
Vídeo-Aula - Curso de Autocad 3D 3h45m Clique aqui
VÍDEO E ÁUDIO
DVD: Conversão de Formatos Digitais: Áudio e Vídeo 1h26m Clique aqui
Vídeo-Aula - Como Criar Vídeo-Aulas - Curso Prático 1h04m Clique aqui
Vídeo-Aula - Curso de Teoria Musical 1h Clique aqui
PROGRAMAS GRÁFICOS
Vídeo-Aula -  Flash CS4 - Curso Prático 2h19m Clique aqui
Vídeo-Aula - Curso de CorelDraw X4 - Módulo I 3h Clique aqui
Vídeo-Aula - Curso Profissional Photoshop 4h20m Clique aqui
Vídeo-Aula - Fireworks CS4 - Curso Prático 1h35m Clique aqui
Vídeo-Aula - Photoshop CS4 - Curso Prático 4h24m Clique aqui
ADMINISTRAÇÃO E NEGÓCIOS
DVD - Curso de Oratória - Falando em Público sem Medo 2h36m Clique aqui
LIVROS CAMPEÕES DE VENDA NO SITE
Dossiê Hacker
Universidade Project
Loja de Livros

Uma verdadeira especialização em Office, com 6208 páginas de conteúdo que vai do básico ao avançado, detalhadamente explicado e exemplificado. Desde os recursos básicos, passando pelos recursos avançados, pela criação de macros e pela automação de tarefas usando programação VBA.

Apenas: R$ 195,00 (valor do frete já incluído)

CLIQUE AQUI PARA SABER COMO COMPRAR ESTE CD