Encuentra todas las ventanas debajo de un punto

Quiero encontrar todas las ventanas de nivel superior (hijos del escritorio) debajo de un punto determinado en el escritorio. No puedo encontrar una API para esto.

Mi escenario es que estoy arrastrando una ventana por la pantalla y quiero soltarla en otra ventana (conocida). Puedo presionar probar los límites de la ventana de destino, pero eso no me dice si está ocluida por otra ventana (desconocida). UtilizandoWindowFromPoint y los amigos no funcionarán, porque la ventana que se está arrastrando está necesariamente directamente debajo del mouse. Así que me pregunto si puedo obtener todas las ventanas en la posición del mouse, y revisarlas para ver si una de las ventanas que estoy rastreando está directamente debajo de la ventana que estoy arrastrando.

¿Hay alguna manera de hacer esto sin recurrir aEnumDesktopWindows/GetWindowRect en cada arrastre del mouse? O tal vez hay otra solución que me falta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta