para obtener la ventana top-most utiliza la función GetForegroundWindow y para obtener la bottom-most utiliza la GetBackGroundWindow. para obtener el handle de todas las ventanas abiertas (si quieres cerrarlas por ejemplo) utilizar enumDesktopWindow con su respectiva función callback.
|