Afin de n'autoriser qu'une seule instance d'une application en cours d'exécution, j'utilise mutex. Le code est donné ci-dessous. Est-ce que c'est la bonne façon de le faire? Y a-t-il des failles dans le code?Exécution d'une seule instance d'une application à l'aide de Mutex
Comment afficher l'application en cours d'exécution lorsque l'utilisateur essaie d'ouvrir l'application une deuxième fois. À l'heure actuelle (dans le code ci-dessous), je suis juste l'affichage d'un message qu'une autre instance est déjà en cours d'exécution.
static void Main(string[] args)
{
Mutex _mut = null;
try
{
_mut = Mutex.OpenExisting(AppDomain.CurrentDomain.FriendlyName);
}
catch
{
//handler to be written
}
if (_mut == null)
{
_mut = new Mutex(false, AppDomain.CurrentDomain.FriendlyName);
}
else
{
_mut.Close();
MessageBox.Show("Instance already running");
}
}
en double de http://stackoverflow.com/questions/646480/is-using-a-mutex-to-prevent-multipule -instances-of-the-same-program-from-running –
Assurez-vous de lire ceci: http://stackoverflow.com/questions/229565/what-is-a-good-pattern-for-using-a-global -mutex-in-c/229567 –