Quick Tips: Permitindo apenas uma instância da aplicação
Neste quick veremos como impedir que sejam abertas mais de uma instância de nossa aplicação.
Crie uma nova aplicação WindowsForms e adicione o seguinte código na classe Program.cs, no método main, de forma que ele fique assim:
static void
{
//Recupera todos os processos abertos com o nome do processo atual
Process[] RunningProcesses = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName);
//Verifica se só existe uma intância aberta
//se for verdadeiro é porque esta é a primeira intância
//então inicia a aplicação e instancia o formulário
if (RunningProcesses.Count() == 1)
Application.Run(new Form1());
//senão exibe menagem indicando que já existe outra instância
//mata o processo atual
else
{
MessageBox.Show("Já existe outra instância desta aplicação.");
Process.GetCurrentProcess().Kill();
}
}
É isso aí pessoal, vou ficando por aqui.
Fiquem a vontade para criticar, tirar dúvidas e sugerir
novos temas.
Abraço.
Ricardo Coelho