Início > ASP.Net e C# > Executar aplicações em background com Agendador de Tarefas Windows.

Executar aplicações em background com Agendador de Tarefas Windows.

As vezes precisamos executar algumas aplicações em background, ou seja, sem que o usuário saiba disso. Alguns processos como integrações ou carga de dados.

Uma forma bem simples de se fazer isso é utilizar o Agendador de tarefas do próprio Windows localizado em: Painel de Controle\Todos os Itens do Painel de Controle\Ferramentas Administrativas.

Para testar, vamos fazer uma aplicação console no Visual Studio. Abra o Visual Studio acesse File\New\Project e escolha o projeto Console Application conforme imagem 01.

A ideia é fazer uma aplicação que irá gerar um arquivo txt que irá registrar a hora atual.

Vamos mudar algumas opções para que a aplicação console seja executada em exibir a janela do prompt do DOS.

Acesse as propriedades do projeto clicando com o botão direito do mouse no projeto e em propriedades conforme a imagem 02.

Na guia application mude a opção Output Type para Windows Application conforme a imagem 03:

Agora vamos programar para gerar o arquivo txt.  Na classe Program.cs digite o seguinte código no método Main:

Pronto, temos um aplicação console que gerar um arquivo txt salvado a hora atual, agora vamos compilar e gerar o executável.

Vamos agendar para que esse executável seja executado pelo agendador de tarefa. Após abrir o agendador de tarefa, clique na opção “Criar Tarefa ” no menu Ações localizado do lado direito.

A janela “Criar Tarefa será exibida”. De um nome para a tarefa, no meu caso “Executar aplicações em background com Agendador de Tarefas Windows” e clique na aba Disparadores. Clique em Novo e faça as configurações conforme a imagem abaixo:

Acabamos de configurar a hora e a quantidade de vezes que o agendador de tarefa será executado. Clique em OK e acesse a guia Ações. Clique em Novo e a janela “Nova Ação” será exibido. Deixe a opção Iniciar um Programa na opção Ação e em Programa/script localize o nosso executável. Clique em OK. Pronto agora a cada um minuto o arquivo txt receberá a informação.

Perceba que o arquivo é modificado, porém, nenhuma janela e exibida para o usuário.

Recomendo pesquisas sobre o Agendador de Tarefa que existe outras opções como enviar e-mail.

Obrigado.

Anúncios
  1. dezembro 19, 2010 às 1:26 pm

    olá Marcos, gostaria de saber se você pode me ajudar…estou precisando fazer um programa que monitora as tarefas do windows e possa iniciar ou parar um deles.Eu achei como fazer com processos, usando o getprocess…mas eu preciso de algo mais específico como a tarefa que está sendo executada. Eu não achei nada na internet referente a isso.

    Atc

  2. abril 3, 2012 às 10:57 pm

    Olá Marquinho.
    Sou muito leigo em C# e queria tirar uma duvida.
    Com um programa que nem esse dai que você fez, é possivel pegar a saida do teclado mesmo com o programa em background e sendo sem exibição de janela?

  3. abril 3, 2012 às 10:58 pm

    Wlysses Pereira :
    Olá Marquinho.
    Sou muito leigo em C# e queria tirar uma duvida.
    Com um programa que nem esse dai que você fez, é possivel pegar a saida do teclado mesmo com o programa em background e sendo sem exibição de janela?

    • abril 20, 2012 às 12:09 pm

      Olá Wlysses,

      nunca precisei ou fiz um exemplo nessa situação, mas acredito que seja possível sim. Chegou a fazer algum teste? Obrigado.

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: