Fog Creek Software
Discussion Board

Best Books for Windows Programming

In Joel's list of 'must read' books for programmers, he doesn't include anything that's specifically a Windows reference book.

I'm looking for something like Charles Petzold's "Programming Windows".  I keep picking that book up in bookstores, but I always notice that it was last published (the fifth edition) in 1998.  That's four years ago, and while it may be the bible, I'm worried that a lot of what I learn from there has been superceded by platform decisions in Windows 2000 and XP.  Another thing I'd like is more general applications programming, such as networking.  Petzold's book seems to cover graphics and interfaces more than anything.

I'm coding in C++ these days, and I'm not interested in learning .NET at the moment (at least not as a foundation for understanding Windows itself).

So what's the definitive manual now?

Justin Johnson
Tuesday, November 12, 2002

It sounds like the book "Programming Applications for Microsoft Windows" by Jeffrey Richter would be a good match for you.  The edition I have covers Win2K in detail.  Not sure that there's been a new edition published that gives similar treatment to XP, though.

Windows Hack
Wednesday, November 13, 2002

A few years back (NT/98 era) there was a book published by the Waite Group, iirc. ``The Win32 Programming API Bible''. Had examples, covered pretty much everything, and pretty clear. Notes known incompatibilities. It was pretty good.

If it's still out there, updated, you may want to check it out.

Mike Swieton
Wednesday, November 13, 2002

I have Petzold's book and I singularly fail to understand how it became such a classic. It's a bad book to learn from, and a worse book to use as reference. Very, very disappointing.

Mr Jack
Wednesday, November 13, 2002

MFC Visual C++ 6 by Blaszczak is pretty good if'n your an MFC fan or wanna-be.

Matt H.
Wednesday, November 13, 2002

I would recommend Templeman's "Beginning Windows NT Programming".  Hint: It's not really for beginners.  You'd best be comfortable with bits, bytes and basic OS concepts.  Some topics:

- How DLLs really work
- Threads and processes
- Working with the registry
- Error handling
- Files and mapping
- Security (ACLs, propogation, etc.)
- Services
- Networking: RPC, Winsock, Named Pipes

Bill Carlson
Thursday, November 14, 2002

*  Recent Topics

*  Fog Creek Home