The word "best" bothers me in the context of this post, what's best is largely dependent on your objectives and how you priorities them. If I'm guessing correctly and speed is your primary objective then give Windows Forms a try, it's part of the MSVS suite and it allows you to "program" your applications visual layout using a GUI so you can just drag and drop buttons or whatever where you want them to be, the commands and such still have to be coded in C\C++ but I've heard good things from people. One free alternative to this is wxWidgets which basically allows you to do the same thing.
EDIT: What do you get "messed up" about? The primary function of this forum is to help people.
Programming Windows, 5th Edition By Charles Petzold is pretty much the bible for Win32. Another link often given here is to the Forger's Win32 Tutorial. You can search that term for the link.
I think it might depend on how serious you want to learn Windows desktop programming. The Win32 choice is likely the most powerful, but it takes a major commitment.
I first learned Windows Programming with Visual Basic back in the mid 1990s. The C# with Windows Forms that Computergeek mentioned above is something like that in that you have a visual designer which has a 'toolbox' where you can just drag controls such as buttons, edit controls, so on and so forth, onto a form. You just click a 'Run' button and you have an instant program with no code at all written! Of course, there are some downsides, but I think you have to admit there is a lot to be said for such simplicity.
Where I got burnt out on such 'application frameworks' is that Microsoft keeps creating new ones and abandoning the ones they just created. What I found is that they can create new application frameworks faster than I can learn any one they've just released. So its like one step forward and two steps back. On the other hand, the Win32 choice seems to have more staying power, in that Microsoft changes it a lot more slowly, and can't ever really abandon it completely.