Essayer de creuser dans l'API win32 de mon application WPF (qui passe juste à travers le systray). Lorsque je clique sur l'icône de la barre des tâches, je présente à l'utilisateur un menu contextuel qui permet de mettre au point la fenêtre la plus haute.C# - Win32: Obtenir un handle à la fenêtre la plus haute, après avoir perdu le focus?
Je veux obtenir une poignée de cette fenêtre (celle qui vient de perdre l'accent) et ont essayé différentes approches utilisant
GetForeGroundWindow()
GetTopWindow()
GetDesktopWindow()
sans fin cependant. J'envisage actuellement l'itération à travers tous les processus, pour obtenir les MainWindowHandles et vérifier l'ordre z de chaque fenêtre. Mais j'ai estimé qu'il y a une manière plus facile/plus intelligente; tout simplement un je ne peux pas google ou rappeler de mon vieux tome de Petzold.
Une autre manière serait pour mon menu de la barre des tâches pas pour gagner le focus lorsqu'il est activé?
Merci!
Bien sûr! Essayer de trouver l'événement de mise au point à remplacer, mais en train de faire la vérification avec un DispatcherTimer. –