best book for starting win32

Windows System Programming 4e

rather than Petzold?

wsp4e is all console, so no UI/graphics, etc and it seems to be more beginner friendly.

I learned c & c++, data structs/algorithms, etc no APIs, nothing else

is wsp4e the best choice or are there other books?
If you want to know how to do GUI stuff - then the Windows System Programming book is NOT the book for that.

This book is all about IPC (Inter Pprocess Communication), threads, DLL, sockets and stuff.
It uses console only (I aassume to keep the code examples smaller and cleaner
and not to detract from the subject matter).

So of the two books you mentioned - If you want to learn the GUI stuff - Petzold it is.

Ok, Petzold's book is in C. Can I get any other good book, but in C++?
And which book did you use--if any?

Last edited on
I haven't bought any windowsgui programming books for so many years
that the books I do have are considered antiques:

I have with the Petzold book (2nd Edition)
also the Windows 95 ]WIN32 programming API bible
and programming Microsoft Visual C++ (5th Edition ) which was for VC++6 and around year 2000 vintage.

(there is so much info available on the internet now - but I plan to splash out a few hundred pounds sterling next year on new books.)
Last edited on
This comment I see so often that goes something like

"...but Petzold uses C and I'm not interested in that .... I want to learn Windows programming with C++ .... etc. "

shows a lack of understanding of the issues. Basically, most or all the operating systems we presently use were written in C or C and assembler, and their raw Application Programing Interfaces which they expose to coders are likewise documented using C syntax. The underlying code was likely written in C or assembler, but its documented in C. When Windows, Unix, and Linux were created C++ as it exits today didn't even exist.

So the real issue is as follows; If you want to use C++ to write Windows programs then you need to use a 'Class Framework' that 'wraps' the underlying C Application Programming Interface' in an 'object layer' exposable through C++. Then you don't have to see the C API calls; you've insulated yourself from them.

On the other hand, if your primary interest is in learning the Windows API to write your Windows programs, then you are going to have to learn the C way of doing it. That doesn't exactly mean that you can't use the features of C++ to write your programs; it just means that the operating system isn't exposing itself to you through the idioms of typical C++ objects.

I consider myself to be a 'pure' Windows API coder. However, I never, ever, compile my programs using C compilation. I always compile as C++. I use objects and classes where I see fit and where it suits me.

End rant.
Topic archived. No new replies allowed.