I don't know what to pick, I am stuck between win32, .net, and mfc. I am still fairly new to programming, I am strong in c++ and java, and some sql. I was thinking of learning c# if I pick up the .net framework. Why would I choose one over the other to start out with? Does it depend on what kind of software I want to create? I like to program everything except games.
To build a cool window app more simple, you can learn WPF.
However, if you don't learn the Windows app basis, such as Windows Message Loop, you will not know how to deal with the UI thread and Worker threads.
So I recommand that learn the win32 first and if you can look into WPF for more convenience and cool appearance.