Ok, quindi il mio previous question non ha prodotto alcuna risposta utile, quindi cercherò di venire da una direzione diversa.HitTest su Windows?
La mia applicazione ha potenzialmente diverse finestre. Dato un punto nelle coordinate dello schermo, ho bisogno di trovare su quale finestra "cade" - cioè trovare la Finestra che è la prima di tutte le finestre che contengono quel punto.
Se fossero Visual
s all'interno di una finestra, vorrei usare VisualTreeHelper.HitTest
. Ma dal momento che sono finestre diverse, non è chiaro cosa dare come prima argomentazione a quel metodo.
Grazie mille per la risposta. Lo accetterò, poiché è l'unica risposta fino ad ora, e sicuramente funziona, anche se a scapito della richiesta di Full Trust :-(Rimane comunque una domanda: perché sei sicuro che WPF non lo consenta? –
Qualsiasi applicazione Win32 può modificare l'ordine Z utilizzando SetWindowPos. Esistono due modi in cui WPF può ricevere le informazioni sull'ordine Z da Win32: GetTopWindow/GetNextWindow come illustrato in precedenza, oppure gestendo WM_WINDOWPOSCHANGED e lo stato di archiviazione.Non ci sono riferimenti a GetTopWindow negli assembly WPF. L'ispezione degli oggetti nel debugger mostra che WPF non memorizza le informazioni sull'ordine Z. WPF non può dirti cosa non sa da sé. –