[c#]Detection processus

karshnod Messages postés 13 Date d'inscription mardi 23 mars 2004 Statut Membre Dernière intervention 3 mai 2004 - 26 avril 2004 à 11:31
Srw182 Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 29 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 ?

merci
A voir également:

4 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
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)

{
return process;

}
}
}
return null;

::|The S@ib|::
MVP C#.NET
0
karshnod Messages postés 13 Date d'inscription mardi 23 mars 2004 Statut Membre Derniè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
:)
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
26 avril 2004 à 17:56
il suffit d'enlever çà :
if (process.Id != current.Id)
et de choisir ta condition à toi !

::|The S@ib|::
MVP C#.NET
0
Srw182 Messages postés 5 Date d'inscription vendredi 29 avril 2005 Statut Membre Dernière intervention 29 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é");
}
0
Rejoignez-nous