The EnumChildWindows function enumerates the child windows that belong to the specified parent window
by passing the handle to each child window, in turn, to an application-defined callback function.
The EnumThreadWindows function enumerates all nonchild windows associated with a thread by passing
the handle to each window, in turn, to an application-defined callback function.
This function enumerates all top-level windows on the screen by passing the handle to each window,
in turn, to an application-defined callback function.