Ok, donc mon previous question n'a pas donné de réponses utiles, donc je vais essayer de venir d'une autre direction.HitTest sur Windows?
Mon application a, potentiellement, plusieurs fenêtres. Étant donné un point dans les coordonnées de l'écran, j'ai besoin de trouver sur quelle fenêtre il "tombe" - c'est-à-dire trouver la Fenêtre qui est la plus importante de toutes les fenêtres contenant ce point.
Si elles étaient Visual
s à l'intérieur d'une fenêtre, j'utiliserais VisualTreeHelper.HitTest
. Mais comme ce sont des fenêtres différentes, on ne sait pas quoi donner comme premier argument à cette méthode.
Merci beaucoup pour votre réponse. Je vais l'accepter, car c'est la seule réponse à ce jour, et cela fonctionne vraiment, ne serait-ce que au détriment de la confiance totale :-(Une question subsiste cependant: pourquoi êtes-vous sûr que WPF ne le permet pas? –
Toute application Win32 peut modifier l'ordre Z à l'aide de SetWindowPos WPF peut recevoir ces informations Z Order de Win32: GetTopWindow/GetNextWindow comme indiqué ci-dessus, ou en manipulant WM_WINDOWPOSCHANGED et en stockant l'état.Il n'y a aucune référence à GetTopWindow dans les assemblys WPF. L'inspection des objets dans le débogueur montre que WPF ne stocke pas non plus d'informations sur la commande Z. WPF ne peut pas vous dire ce qu'il ne sait pas lui-même. –