Conhecendo a classe Mutex
Mutex é uma classe de sincronização que também pode ser usado para sincronização entre processos.
Recentemente precisei colocar um bloqueio em uma aplicação para não permitir abrir a aplicação caso já esteja aberta.
Pesquisando sobre o assunto foi que conheci a classe Mutex, na qual pode ser usada para esse fim ou para que determinado recurso da nossa aplicação seja executado um de cada vez por várias thread.
Abaixo vou colocar o código na qual estou utilizando para que minha aplicação seja aberta somente uma única vez.
static Mutex mutex = new Mutex(true, name: "<GUID da sua aplicação>");
[STAThread]
static void Main()
{
if (_mutex.WaitOne(TimeSpan.Zero, true))
{
try
{
CodigoInicioSuaAplicacao();
}
finally
{
_mutex.ReleaseMutex();
}
}
else
{
MessageBox.Show("A aplicação já está sendo executada!");
}
}
Bom pessoal, fi com esse código que consegui satisfazer o requisito da minha aplicação. Caso queiram se aprofundar mais no assunto segue link da documentação oficial da microsoft.
https://msdn.microsoft.com/pt-br/library/system.threading.mutex(v=vs.110).aspx
Veja Também:
Artigos Relacionados
Olá, deixe seu comentário para Conhecendo a classe Mutex
Cleiton Souza
Claudio Roberto
Obrigado Cleiton.
#boraprogramar