Win32 programming. Alot more complicated than console programming.
Ive never actually learned it, but in the ide i use (visual studio 08) you have the options of and actual GUI program and its definitely not for me just yet.
A GUI is basically just an interface in a program. Whenever you open a Windows application, the buttons that are used are part of the Windows GUI. The Windows GUI can be accessed through the functions and classes available in the Windows API.
If you don't want to bother with OS-specific drawing methods, I suggest the SDL for 2D programming:
www.libsdl.org
which handles graphics (obviously), input, threads, audio, and more. Plus, your programs should be cross-platform. I suggest using the following website for tutorials on using the SDL:
www.lazyfoo.net
However, using the Windows GUI must still be done with the Windows API.