To directly answer your question, learing windows programming is a bit different than learning game programming. Game programming is largely about learning mathematics and algorithms, and learning windows programming is purely about memorizing what each function in the windows api does.
In order to learn the windows api you typically have to have a strong learning curve and the ability to memorize.
My own spin on the issue:
Learning windows programming, while useful, is probably not too important to hark on if your goal is to program games. In a way, learning game programming is somewhat easier, because once you really understand a mathematical equation or algorithm, you never forget it. The opposite is true for windows api programming, because if you are not consistently working with windows api it is quite easy to forget how to use it.
I personally only have experience up until making filemenus and generating windows that you can draw graphics to, and even then I can't do it off of the top of my head, I need to look at other people's code, a book, or stuff I've already implemented.
An easier route is to just use visual basic for things like 'settings applications' (an application that must be run before your actual game starts which asks what settings, eg screen resolution, you want. The application then writes this data to a text file, and then your actual game application reads this data in and the actual game executes).