Maximiser une application du systray
Bonjour,
j'ai une application et pour certaines raisons, je dois maximiser (=rendre visible et mettre au premier plan) une application contenue (MSN pour ne pas le citer) dans le systray. J'ai pour cela tenter plusieurs méthodes sans succès :
Code:
1 2 3 4 5 6 7 8 9
|
Process p = Process.GetProcessesByName("msnmsgr")[0];
MessageBox.Show("Process : " + Process.GetProcessesByName("msnmsgr").Length);
if (p != null)
{
MessageBox.Show("id:" + p.Id + " name:" + p.ProcessName + " win:" + p.MainWindowHandle + " proc:" + p.Handle);
ShowWindow(p.MainWindowHandle, 9);
SetForegroundWindow(p.MainWindowHandle);
} |
Je sais c'est un peu cracra comme code mais c'est du Proof Of Concept.
Ce bout de code fonctionne quand l'application est dans la barre de tâches mais une fois dans le systray, je perds le handle MainWindowHandle qui est = à 0. Du coup plus moyen de mettre la fenêtre en premier plan...
Avez vous une solution ou des pistes pour réussir à réaliser cette opération?
Merci d'avance