Bonjour,

Pour empêcher qu'un utilisateur lance plusieurs fois mon programme, je détecte si il y des processus de ce programme en cours.

Je voudrais, dans un tel cas, que l'instance du programme en cours s'affiche.

J'ai donc utilisé

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
[DllImport("user32.dll")]
        static extern bool SetForegroundWindow(IntPtr hWnd);
qui fonctionne bien mais mon programme peut être masqué et visible uniquement dans le systray.

La méthode SetForegroundWindow ne m'apporte rien dans ce cas.

J'ai essayé avec

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
[DllImport("user32.dll")]
        static extern bool ShowWindow(IntPtr hWnd);
 
        [DllImport("user32.dll")]
        static extern bool SetActiveWindow(IntPtr hWnd);
mais ca ne fonctionne pas mieux.

Avez vous une idée pour que j'arrive à mes fins.

Merci