Encontre todas as janelas abaixo de um ponto

Quero encontrar todas as janelas de nível superior (filhos da área de trabalho) abaixo de um determinado ponto na área de trabalho. Não consigo encontrar uma API para isso.

Meu cenário é que estou arrastando uma janela pela tela e quero soltá-la em outra janela (conhecida). Posso testar os limites da janela de destino ok, mas isso não me diz se está obstruído por outra janela (desconhecida). UsandoWindowFromPoint e amigos não funcionarão, porque a janela que está sendo arrastada está necessariamente diretamente sob o mouse. Então, estou pensando se posso obter todas as janelas na posição do mouse e revê-las para ver se uma das janelas que estou rastreando está diretamente abaixo da janela que estou arrastando.

Existe uma maneira de fazer isso sem recorrer aEnumDesktopWindows/GetWindowRect em cada arrastar do mouse? Ou talvez exista outra solução que esteja faltando.

questionAnswers(2)

yourAnswerToTheQuestion