Afficher une fenêtre externe au programme AlwaysOnTop
Raphykiki
Messages postés6Date d'inscriptionsamedi 9 février 2008StatutMembreDernière intervention26 août 2008
-
24 août 2008 à 21:43
Raphykiki
Messages postés6Date d'inscriptionsamedi 9 février 2008StatutMembreDernière intervention26 août 2008
-
26 août 2008 à 16:07
Bonsoir à tous,
J'aimerais que lorsque je clique sur mon bouton, la fenêtre qui a pour caption "Sans titre - Bloc-notes" se met au premier plan.
Par la suite, si je sais faire ça, je pourrais faire un thread qui met cette fenêtre au premier plan toutes les X secondes.
A par s'il y a une autre façon de faire dont j'aimerais connaître.
J'ai déjà fait mes recherches sur google et MSDN, il faut utiliser FindWindow, ShowWindow de la DLL user32. Mais après plusieurs essayes qui ne marchent pas, je décide donc de poster :p
Cordialement,
Raphael.
A voir également:
Afficher une fenêtre externe au programme AlwaysOnTop
La variable IntPtr doit être le handle d'une fenêtre, donc si tu utilises l'objet Process, il faut passer la propriété process.MainWindowHandle aux méthodes ci-dessus.
Voilà, n'hésites pas si tu as d'autres questions !!
Raphykiki
Messages postés6Date d'inscriptionsamedi 9 février 2008StatutMembreDernière intervention26 août 2008 26 août 2008 à 16:07
Wouah !
Merci beaucoup, j'ai trouvé une autre solution moins longue :p
[DllImport("USER32.DLL")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
private void button1_Click(object sender, EventArgs e)
{
// On cherche la fenêtre
IntPtr maFenetreHandle = FindWindow(null, "Nom de la fenêtre");
// Vérification de la présence de la fenêtre
if (maFenetreHandle == IntPtr.Zero)
{
MessageBox.Show("La fenetre n'est pas présente");
return;
}
// On la met au premier plan et active
SetForegroundWindow(maFenetreHandle);
// Nous pouvons simuler des keys par exemple
SendKeys.SendWait("Youuupi, j'ai réussi à mettre une fenetre au premier plan");
SendKeys.SendWait("{ENTER}");
SendKeys.SendWait("Et voilà que je simule du texte en plus !")
}