Une seule instance de l'application

Soyez le premier à donner votre avis sur cette source.

Vue 13 000 fois - Téléchargée 1 042 fois

Description

Il arrive parfois que l'on souhaite qu'une application ne puisse se lancer qu'une seule fois.
Pour cela on n'utilise un Mutex.

Il faut dans un premier temps créer une classe qui va gérer le mutex.
Ensuite il faut contrôle avant de lancer l'application si une même application est déjà lancée.

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Salut,

J'ai 2 petites remarques :

- ton utilisation du mutex limite à une seule instance par session, pas sur la machine, ça pourrait poser problème en environnement Terminal Server par exemple (ou avec le Fast User Switching sous XP) : si ton but est l'unicité "totale" tu peux prefixer le nom du mutex par "Global".
Par exemple : InstanceUnique instanceUnique = new InstanceUnique("Global\\{applicationunique}")

- utilise un nom plus "perso" pour le Mutex, en utilisant par exemple un Guid
Avec "{applicationunique}", les risques que quelqu'un aie utiliser le même est assez élevé, tu risques de ne pas du tout pouvoir lancer l'application si l'autre a été lancée avant la tienne :-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.