karshnod
Messages postés13Date d'inscriptionmardi 23 mars 2004StatutMembreDernière intervention 3 mai 2004
-
26 avril 2004 à 11:31
Srw182
Messages postés5Date d'inscriptionvendredi 29 avril 2005StatutMembreDernière intervention29 avril 2005
-
30 avril 2005 à 20:27
Bonjour,
Est il possible de savoir si une application est deja lancé, afin qu'on ne puisse la lancer 2 fois ?
TheSaib
Messages postés2367Date d'inscriptionmardi 17 avril 2001StatutMembreDernière intervention26 décembre 200723 26 avril 2004 à 13:57
Process current = Process.GetCurrentProcess();
Process[] processes = Process.GetProcessesByName (current.ProcessName);
//Loop through the running processes in with the same name
foreach (Process process in processes)
{
if (process.Id != current.Id)
{
file.
if (Assembly.GetExecutingAssembly().Location.
Replace("/", "\") == current.MainModule.FileName)
karshnod
Messages postés13Date d'inscriptionmardi 23 mars 2004StatutMembreDernière intervention 3 mai 2004 26 avril 2004 à 14:18
Je suis d'accord sur le fait que ca marche sur sa propre application, mais en fait je cherchai un moyen de vérifier si une application externe a mon programme etait lancé ou pas, et si oui l'empecher de l'executer 2 fois.
je sais meme pas si c'est possible, mais je cherche un moyen
:)
Srw182
Messages postés5Date d'inscriptionvendredi 29 avril 2005StatutMembreDernière intervention29 avril 2005 30 avril 2005 à 20:27
Je pense avoir trouvé un code qui permet de faire ca ... C'est "fait-maison", mais ca fonctionne ... le principe est de lister les processus dans une listBox puis de rechercher dans la listbox le processus que l'on veut .
Process[] processes = Process.GetProcesses();
foreach (Process process in processes)
listBox1.Items.Add(process.ProcessName);
int index = listBox1.FindStringExact("processusqueloncherche");
//exemple : int index = listBox1.FindStringExact("hl");
if (index != -1)
{
messageBox.Show("Le processus est deja lancé !!!");
}
else
{
messageBox.Show("Le processus n'est pas lancé");
}