First post .
Anyway, I do a bit of Win32 programming in my spare time so I've been through a lot of the iffies.
My suggestion for you to start out with is MFC and C++, don't use the Win32 API as it's incredibly complex in comparison to MFC. MFC's the C++ implementation of writing code for Win32 platforms and Win32 API is the more precise C method. Also, C++ has much better structure than C. C lacks classes, initializers within structs, nasty indirections when passing as reference, and all around, it's just something that if Win32 platform programming is new to you, you don't want to do.
My stance with using Visual Basic has never been good, I've seen a lot of VB programs come and go and eat a lot of memory. They're not the best ways to implement anything relatively large. Of course the development time for something under VB is considerably less than in C/C++. That's a trade-off you have to make though, do you want rapid development or efficient code?
My question though is do you have any prior programming language and if so, would it be in C/C++? Jumping right into Win32 programming is a difficult feat at best. You might want to reconsider it and start with some basic C/C++ console programs.