Bonjour
Voila mon "Program.cs"
Il vérifie que le Process n'existe pas déjà et si c'est le cas donne la main sur celui existant.
Ca fonctionne bien quand le programme est ouvert et caché derrière d'autres fenêtre.
Mon problème c'est si la fenêtre est réduite en barre des tache ou dans le systray ça ne l'ouvre pas en plein ecran.
Es ce possible ?
Merci
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
35
36
37
38
39
40
41 using System; using System.Windows.Forms; using System.Diagnostics; using System.Runtime.InteropServices; namespace WindowsFormsApplication1 { static class Program { [DllImport("user32")] static extern bool SetForegroundWindow(IntPtr windowHandle); /// <summary> /// Point d'entrée principal de l'application. /// </summary> [STAThread] static void Main() { bool firststart = true; int i = 0; Process Proc_EnCours = Process.GetCurrentProcess(); //Info sur lui même Process[] Les_Proc = Process.GetProcesses(); //Liste de tous les Process en cours foreach (Process Processus in Les_Proc) //Pour chaque Process { if (Proc_EnCours.ProcessName == Processus.ProcessName && Proc_EnCours.Id != Processus.Id) //Vérifie si même nom et pas lui même { SetForegroundWindow(Les_Proc[i].MainWindowHandle); //Donne la main sur le Process déjà existant firststart = false; break; //Sort de la boucle } i++; } if (firststart == true) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } }
Partager