Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Dicas.NET - Criando aplicações windows singleInstance

Veja nesta dica, como criar uma aplicação SingleInstance, com isso, a aplicação não pode ser acessada por diversas instancias.

 

Criando aplicações windows singleInstance

Aplicações singleInstance são aplicações que podem ser rodadas uma única vez, o usuário não pode abrir diversas instancias da aplicação, rodando várias vezes o executável.

 

O VB.NET, através dos recursos do MY, implementa facilmente aplicações singleInstance. Basta nas propriedades do projeto marcarmos a checkbox solicitando isso e ele gera o código para nós.

 

No C#, porém, não temos o recurso do My, consequentemente precisamos nós mesmos programar isso.

 

Para fazer isso devemos utilizar um Mutex. Um Mutex é um objeto do sistema operacional que permite criarmos uma sinalização entre nossas aplicações. Assim sendo, a primeira instância de nossa aplicação abre um Mutex e as instâncias seguintes, vendo que o Mutex já existe, não se iniciam.

 

Devemos fazer isso na Main. Veja:

 

static void Main()

{

Mutex mu = null;

try

{

mu = Mutex.OpenExisting("RUNMEONCE");

}

catch (WaitHandleCannotBeOpenedException)

{

}

 

if (mu == null)

{

mu = new Mutex(true, "RUNMEONCE");

}

else

{

mu.Close();

return;

}

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

 

 

 

 

 

 

 

 

 

 

 

 





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Autor
Tipster .net

Dicas sobre .NET




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da .net Magazine ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03