[C#] application lancée une seule fois et Mutex
Bonjour à tous,
Voici mon problème :
Je possède une gamme d'application (.exe) qui s'apelle : AppX, AppY et AppZ
le code ci dessous empeche une application de se lancer deux fois :
Code:
1 2 3 4 5 6
|
Mutex MyApplicationMutex = new Mutex (true,"MyApplicationMessage");
if (MyApplicationMutex.WaitOne(0, false))
Application.Run(new Form1());
else
MessageBox.Show("My application is already running"); |
Ma premiere question :
le mutex étant COMVisible; en imaginant que l'application 1 ne réponde pas (thread bloqué); le code ci desssus fonctionnera t il quand meme ? ou n'y aura t il pas de réponse et une deuxieme application se lancera ?
Ma deuxieme question :
Je souhaite que AppX , AppY et AppZ soit toutes en exclusion pour qu'une seule tourne à un instant donné....
Imaginons que AppX est deja lancée, et que je lance AppY; je souhaiterais alors killer le processus de AppX....mon probleme est d'acceder au processId d'AppX dans AppY avec la contrainte de ne pas connaitre le nom des processus...
Alors des idées ?? :roll: