Verificar se processo está rodando com C#

Olá,

O pequeno código em C# abaixo serve para verificar se um processo está em execução no Windows. Tudo que ele faz é pegar um Array com todos os processos existentes e comparar os nomes com o escrito no TextBox.

Exemplos de uso:




O .exe compilado para o .NET Framework 4.0 do programa pode ser baixado no seguinte link: http://goo.gl/dtGs0
O projeto e código fonte comentado completo do programa em C# criado com o VisualStudio2010: http://goo.gl/0qArS

Abraço

2 comentários:

  1. Olá conheci seu blog esta semana e estou gostando muito.
    Estou tentando criar algo para impedir que minha aplicação abra duas vezes. Tentei assim, mas não deu certo. Poderia dar uma dica? Desde já obrigado.

    [code]
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Windows.Forms;
    using System.Diagnostics;

    namespace AppAplicacao
    {
    static class Program
    {
    ///
    /// The main entry point for the application.
    ///
    [STAThread]
    static void Main()
    {
    Process AppAplicacao = Process.GetCurrentProcess();
    string aProcName = AppAplicacao.ProcessName;
    if (Process.GetProcessesByName(aProcName).Length > 1)
    {
    MessageBox.Show("O programa já está em execução!", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
    return;
    }
    else
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
    }
    }
    }
    }

    [/code]

    ResponderExcluir
    Respostas
    1. static class Program
      {
      ///
      /// The main entry point for the application.
      ///
      [STAThread]
      static void Main()
      {
      string Processo = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
      if (System.Diagnostics.Process.GetProcessesByName(Processo).Length > 1)
      {
      MessageBox.Show("O Programa já está em execução! Aguarde um estante. Se o sistema não iniciar, reinicie o Windows.", "Programa Já Aberto!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
      return;
      }
      else
      {
      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);
      Application.Run(new frmTerraplenPD());
      }
      }
      }

      Excluir

Não esqueça de enviar um comentário. Isto motiva o autor a continuar postando e também é uma forma de agradecimento