Some time ago, Microsoft made available an Express edition of their Visual Studio product for free. The Express edition is restricted to a single user and is somewhat limited in features that might be needed in a corporate environment, but otherwise is a very functional development environment for developing complete programs with or without the .NET framework. I think it's a very wise decision by Microsoft, as it certainly encourages developers to write programs for Windows. In addition, Microsoft created the Coding4fun plan to offer free project ideas for enthusiastic hackers that can be coded in the free Express tools - controlling hardware (Home Automation, Lego Mindstorms), media programs, games and so on. Indeed, Microsoft makes a smart move by pulling the hacker talent into its platform.
I downloaded the most recent package - Visual C++ 2005 (as an .iso file) and it includes the latest MS command line compiler from C++, the Visual Studio IDE (which is very nice, as a first impression, even nicer than Visual Studio .NET), the .NET 2.0 Framework and MSDN. Separately, one can download the latest MS Platform SDK (library for developing pure Win32 applications) with its MSDN, also as a CD image. It's quite simple to integrate the PSDK into Visual C++ 2005, it is explained in detail here. The PSDK documentation is also easily ported into the 'main' MSDN, as described here.
Update: the links above died, so I've collected the information here.
Sorry that this posts sounds like a Microsoft commercial. Visual C++ is a truly nice programming environment, my favorite IDE in fact, and I'm just damn glad it's available completely for free with a full SDK and documentation. So I feel it's proper to give them credit for this.