Programming Windows: One Book, Six Editions

I wrote the first edition of Programming Windows between January and August 1987. I began the book working with Windows 1.0 but then switched over to beta versions of Windows 2.0, which was released in November of that year. The book was published early in 1988, had a brown cover and 852 pages. A hardcover copy was printed for libraries. (That’s before people realized that books about Windows would have extremely short shelf lives.) It was translated into German and Japanese. The book is out of print.

The second edition had the full title Programming Windows: The Microsoft Guide to Writing Applications for Windows 3. I finished the revision two months after the May 1990 introduction of Windows 3.0. The book had 944 pages and included new chapters on the hot topics of Dynamic Data Exchange (DDE) and the Multiple Document Interface (MDI). It was eventually translated into Chinese, French, German, Italian, Japanese, and Spanish. Out of print.

The title of the third edition appears to be Programming Windows 3.1 but the copyright page indicates that the title is really Programming Windows: The Microsoft Guide to Writing Applications for Windows 3.1. It was finished three months after the April 1992 introduction of Windows 3.1 and has 983 pages. There are no new chapters, but new information was included on TrueType, the Device-Independent Bitmap (DIB), the DDE Management Library, and common dialog boxes. It was translated into Chinese, German, and Italian. Out of print.

The fourth edition is entitled Programming Windows 95 and has 1100 pages. I finished the revision in January 1996, five months after the August 1995 introduction of Windows 95. Of course, all the programs in the book were converted to the new 32-bit application-programming interface, and I wrote a new chapter on multithreading. Paul Yao (who coauthored an early book on Windows programming) contributed two new chapters: “The Modern User Interface” (about common controls) and “What’s This Thing Called OLE?” These were subjects felt important to the book but which I had little interest in writing. The fourth edition has been translated into Dutch, Finnish, Italian, Japanese, Korean, Polish, Portuguese, Romanian, Serbo-Croatian, and Spanish. Out of print.

The fifth edition goes back to the original unadorned title Programming Windows. I finished this revision in October 1998, five months after the June 1998 release of Windows 98. The book has a whopping 1479 pages and hard covers. The two Paul Yao chapters from the fourth edition are not included in the fifth edition. Nor is the chapter on DDE. Instead, the information on bitmaps is greatly expanded, here encompassing about 300 pages. (Much of this was material I originally wrote for an abandoned book on bitmap graphics programming under Windows.) There’s also a new 138-page chapter on sound and music (mostly 32-bit updates of programs I originally wrote for PC Magazine) and a new short chapter on the Internet, demonstrating sockets and FTP. A new chapter on Unicode appears early in the book; all programs have been made Unicode-ready.

All the first five editions of Programming Windows discuss how to write applications for Windows using the C programming language and the Windows application programming interface (API).

In 2012 it was announced that there would be a sixth edition of Programming Windows that focuses on writing Metro style applications for Windows 8 using C# and XAML. Full details are here.

Charles Petzold
May 2012

© Charles Petzold, 2012
cp@charlespetzold.com