Question

Dans une application que je suis en train de travailler, une exigence est d'apporter une fenêtre d'une application externe à l'avant-plan.Faire des appels Win32 API comme BringWindowToTop et SetForeground fenêtre ne fonctionne pas tout le temps.Cela est dû à certaines restrictions dans Windows XP.Ce que je voudrais faire, c'est envoyer à simuler un clic de souris de la fenêtre, le bouton sur la barre des tâches qui, je l'espère, apportera de la fenêtre à l'avant.Personne ne sait comment cela est possible?

Était-ce utile?

La solution

Consultez la section "Comment voler l'accent sur 2K/XP" à http://www.codeproject.com/KB/dialog/dlgboxtricks.aspx, car c'est exactement ce dont vous avez besoin.Je n'irais pas la barre des tâches route que la barre des tâches peut être cachée ou tout simplement pas là.

Autres conseils

Il est possible de faire.Mais il est extrêmement sommaires.Votre demande peut également rompre avec la prochaine version de Windows, car il est sans-papiers.Ce que vous devez faire est de trouver la poignée de la fenêtre de la barre des tâches, puis de trouver le handle de fenêtre de la fenêtre enfant représentant le bouton, puis de l'envoyer à un WM_MOUSEDOWN (je pense) message.

Voici un peu de temps à trouver la poignée de la fenêtre de la barre des tâches:

http://www.codeproject.com/

FWIW, les restrictions sur BringWindowToTop/SetForeground sont là parce que c'est irritant quand une fenêtre vole focus.Qui ne peut pas d'importance si vous travaillez dans un environnement d'entreprise.Il suffit de garder à l'esprit.:)

Je l'utilise dans un programme où j'ai eu besoin de simuler les clics et les mouvements de la souris;

Mondial de la Souris et du Clavier de la Bibliothèque

Pour être honnête, je n'ai jamais eu un problème en apportant une fenêtre au premier plan sur XP/Vista/2003/2000.

Vous devez vous assurer que vous effectuez les opérations suivantes:

  1. Vérifier si IsIconic (réduite)
  2. Si #1 résultats en vrai, alors l'appel ShowWindow passant SW_RESTORE
  3. Appelez ensuite SetForegroundWindow

Je n'ai jamais eu de problèmes qui, je pense, de le faire avec ces étapes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top