But for serious GUI application I would really recommend using Qt. It's just much nicer API to work with than raw Win32. As a bonus you get cross-platform compatibility.
Create virtual desktops/workspaces? You probably will simply need to hide and show back windows manually. Builtin API doesn't provide that. Maybe only on Windows 10 now.