The window returned by GetDesktopWindow() is very special, and I see people abusing it all over the place.
For example, many functions in the shell accept a window handle parameter to be used in case UI is needed. IShellFolder::EnumObjects, for example.
What happens if you pass GetDesktopWindow()?
If UI does indeed need to be ...