If you're doing programming for games, don't use C#. C# is much better suited for making tools. And it sounds like you think C++ and MS Visual C++ 2005 Express Edition are two different languages; they're not. I'm going to school specifically for video game programming, and the primary textbook that we've used so far is:
http://www.amazon.com/Primer-Plus-5th-S ... 86&sr=11-1
Also, just learning how to program in C++ won't really be enough to program a game. There are a lot of little things about game architecture that you'll need to learn as well, such as the game loop and the various game engines (physics, AI, graphics, etc. are some common engines). To learn about these, I'd reccomend the following site and textbook:
http://www.gamedev.net/
http://www.amazon.com/Introduction-Game ... 06&sr=11-1
Other things that you might want to look into and possibly use in games include:
DirectX or OpenGL (graphics)
FMod (sound)
Lua (scripting language)
Now, keep in mind that making the jump from Game Maker and Source SDK to C++ is quite significant. They really aren't that much alike. Good luck.