Bonjour,
Je voudrais récupérer la liste des processus en cours afin de savoir si mon application tourne deja auquel cas elle ne sera pas lancé une seconde fois qd je clique sur mon .exe.
Quelqu'un sait-il comment faire ça?
Bonjour,
Je voudrais récupérer la liste des processus en cours afin de savoir si mon application tourne deja auquel cas elle ne sera pas lancé une seconde fois qd je clique sur mon .exe.
Quelqu'un sait-il comment faire ça?
oups !!
merci en tout cas donc pour ceux que ça intéresse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 [STAThread] static void Main() { if (TestSiApplicationDejaLancee() == false) { // Première instance de l'application Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { // L'application a déjà été lancée Application.Exit(); } } static bool TestSiApplicationDejaLancee() { // Récupération du processus courant Process currentProcess = Process.GetCurrentProcess(); // Parcours de la liste des processus de la machine foreach (Process p in Process.GetProcesses()) { // Test si le processus courant est bien différent du processus de la liste // et que les deux processus en question ont le même nom if (p.Id != currentProcess.Id && p.ProcessName.Equals(currentProcess.ProcessName) == true) return true; } return false; }
A la place d'utiliser Equals tu peux utiliser l'opérateur ==.
Partager