- Amazon Business : For business-only pricing, quantity discounts and FREE Shipping. Register a free business account
Programming Windows®, Fifth Edition (Microsoft Programming Series) 5th Edition
by
Charles Petzold
(Author)
Charles Petzold
(Author)
Find all the books, read about the author, and more.
See search results for this author
Are you an author?
Learn about Author Central
|


ISBN-13:
978-1572319950
ISBN-10:
157231995X
Why is ISBN important?
ISBN
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.

Use the Amazon App to scan ISBNs and compare prices.
Have one to sell?
Add to book club
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club?
Learn more
Join or create book clubs
Choose books together
Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Only 1 left in stock - order soon.
Ships from and sold by PhilipsBooks.

There is a newer edition of this item:
Programming Windows: Writing Windows 8 Apps With C# and XAML (Developer Reference (Paperback))
$16.54
(30)
Only 1 left in stock - order soon.
$16.54
(30)
Only 1 left in stock - order soon.
Fearless and inspiring
Discover Black voices on Audible. Learn more
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
Download to your computer
|
Kindle Cloud Reader
|
Frequently bought together
Customers who viewed this item also viewed
Page 1 of 1 Start overPage 1 of 1
- Programming Windows with MFC, Second EditionHardcover
- Windows System Programming (Addison-Wesley Microsoft Technology Series)Hardcover
- Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (Developer Reference)Paperback
- Programming Windows: Writing Windows 8 Apps With C# and XAML (Developer Reference (Paperback))Paperback
- Windows via C/C++Jeffrey M. RichterHardcover
- Windows 10 System Programming, Part 1Paperback
Customers who bought this item also bought
Page 1 of 1 Start overPage 1 of 1
- Programming Windows with MFC, Second EditionHardcover
- Windows via C/C++Jeffrey M. RichterHardcover
- Win32 Programming (Addison-Wesley Advanced Windows Series)(2 Vol set)Paperback
- Windows Kernel ProgrammingPaperback
- C Programming Language, 2nd EditionPaperback
- Windows Internals, Part 1: System architecture, processes, threads, memory management, and more (Developer Reference)Paperback
Special offers and product promotions
Editorial Reviews
About the Author
Charles Petzold has been writing about programming for Windows-based operating systems for 24 years. A Microsoft MVP for Client Application Development and a Windows Pioneer Award winner, Petzold is author of the classic Programming Windows, currently in its fifth edition and one of the best-known programming books of all time; the widely acclaimed Code: The Hidden Language of Computer Hardware and Software; and more than a dozen other books.
Product details
- Publisher : Microsoft Press; 5th edition (December 2, 1998)
- Language : English
- Hardcover : 1100 pages
- ISBN-10 : 157231995X
- ISBN-13 : 978-1572319950
- Item Weight : 5.4 pounds
- Dimensions : 7.63 x 2.75 x 9.63 inches
-
Best Sellers Rank:
#120,728 in Books (See Top 100 in Books)
- #29 in Microsoft C & C++ Windows Programming
- #41 in Computer Operating Systems (Books)
- #69 in Microsoft OS Guides
- Customer Reviews:
Start reading Programming Windows (Developer Reference) on your Kindle in under a minute.
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Fearless and inspiring
Discover Black voices on Audible. Learn more
Customer reviews
4.6 out of 5 stars
4.6 out of 5
143 global ratings
How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Reviewed in the United States on August 28, 2015
Verified Purchase
It is a priceless book on Win32 API! It obviously lacks lots of new features appeared since the time of publishing (almost 20 years ago!); it doesn’t even touch MFC or any other popular programming tool (if you are interested in it); it is written in plain old C (no classes, etc.); but it explains all the basics of Windows programming, all principal Windows elements and how they work together. The language is very good; the samples are simple and thoughtful. And they work even now! I’ve got executables from the original CD that comes with the book: built in 1998, both Debug and Release versions, and they run like a snap – amazing! The CD also contains a help file that covers the whole book – pretty handy, considering the thickness and weight of the hardcopy.
14 people found this helpful
Report abuse
Reviewed in the United States on February 9, 2021
Verified Purchase
This book tries to give you a big-picture view of Windows programming. It has plenty of detail, yet never sacrifices conceptual understanding along the way.
Each topic builds on the mental model established by previous topics. There are no major poorly-explained leaps that I've encountered.
Plenty of historical context is given by the author, both for color and for understanding. Actually, the book itself can be considered a piece of historical context! (Yet, it's far from outdated -- the core mechanisms of how the Windows API works haven't changed much.)
The writing style is neither too casual nor too formal. Reading this book is like listening to a likeable expert who does not condescend to you, yet who also does not try too hard to impress you with his knowledge.
Add to that the fact that the book is a blast from the past and chock full of history, and it's really quite worthwhile to anyone who wants to learn Windows programming.
10/10
Each topic builds on the mental model established by previous topics. There are no major poorly-explained leaps that I've encountered.
Plenty of historical context is given by the author, both for color and for understanding. Actually, the book itself can be considered a piece of historical context! (Yet, it's far from outdated -- the core mechanisms of how the Windows API works haven't changed much.)
The writing style is neither too casual nor too formal. Reading this book is like listening to a likeable expert who does not condescend to you, yet who also does not try too hard to impress you with his knowledge.
Add to that the fact that the book is a blast from the past and chock full of history, and it's really quite worthwhile to anyone who wants to learn Windows programming.
10/10
Reviewed in the United States on September 15, 2013
Verified Purchase
About 2 years ago, I read this book and learned much more than I had previously about traditional Microsoft Windows API GUI programs. Most of my professional experience with programming languages consisted of 11 years with C#. Some of the concepts in the book were not new to me like message pumps and the general way they work under Microsoft Windows. The deep details of message pumps and how they work were new to me and this book went far to teach me the ground level concepts needed to properly set up a visual desktop program under Microsoft Windows using the native Windows API.
When I examined how these things are done in other platforms, I was surprised to find that they are sometimes done the same way. If you are using something like .NET, Windows Runtime, or Java Swing, you might not ever encounter these things. However, if your software is defined in a native implementation language, perhaps for the purposes of incorporating DirectX or OpenGL at a native level, you might see such things more often. A book like this make a huge difference in successfully grasping the concepts you need to apply in order to better use such things.
When I examined how these things are done in other platforms, I was surprised to find that they are sometimes done the same way. If you are using something like .NET, Windows Runtime, or Java Swing, you might not ever encounter these things. However, if your software is defined in a native implementation language, perhaps for the purposes of incorporating DirectX or OpenGL at a native level, you might see such things more often. A book like this make a huge difference in successfully grasping the concepts you need to apply in order to better use such things.
8 people found this helpful
Report abuse
Reviewed in the United States on July 18, 2001
Verified Purchase
This is an absolutely golden book. Don't be intimidated by the page count or the title - this book is actually a very easy to use ground up tutorial in Win32 programming. He starts out talking about the basics and then slowly moves into more advanced topics.
As always it's important to know what a book is NOT. This book is not a tutorial for writing windows applications, nor does it discuss MFC or most of the common methods used today for rapidly producing computer programs. This is not REALLY a reference book on win32 either.
Instead it provides a tutorial-style documentation for the monstrous win32 API at its most fundamental levels. This book sets the standard for all other code written for any modern version of windows. It addresses real world issues and real world solutions to those problems (such as the chapter dedicated to making unicode friendly programs), as well as some historical issues (the difference between wParam and lParam).
No manual is without its flaws. This book is a bit too braod spectrum in the detail levels. There are places in the book where he will delve into details that you could care less about, and there are points that he will put in two or three sentences and assume you understand, although you may not.
Despite this, this book is essential to everyone writing code for Microsoft Windows (ANY version). You needn't read it cover to cover, but readiny section I (about 1/3 of the book) is essential. My one wish is that this book came in three volumes, if you haul it between home and school/office it gets to be buronsome. That's about all I can really complain about with this book.
As always it's important to know what a book is NOT. This book is not a tutorial for writing windows applications, nor does it discuss MFC or most of the common methods used today for rapidly producing computer programs. This is not REALLY a reference book on win32 either.
Instead it provides a tutorial-style documentation for the monstrous win32 API at its most fundamental levels. This book sets the standard for all other code written for any modern version of windows. It addresses real world issues and real world solutions to those problems (such as the chapter dedicated to making unicode friendly programs), as well as some historical issues (the difference between wParam and lParam).
No manual is without its flaws. This book is a bit too braod spectrum in the detail levels. There are places in the book where he will delve into details that you could care less about, and there are points that he will put in two or three sentences and assume you understand, although you may not.
Despite this, this book is essential to everyone writing code for Microsoft Windows (ANY version). You needn't read it cover to cover, but readiny section I (about 1/3 of the book) is essential. My one wish is that this book came in three volumes, if you haul it between home and school/office it gets to be buronsome. That's about all I can really complain about with this book.
26 people found this helpful
Report abuse
Reviewed in the United States on May 15, 2014
Verified Purchase
I'm a firmware engineer, and spent a lot of time with RTOS device driver / app programming in C. This book so far is the best book that I've ever bought to program in desktop environment.
This book explains Windows application programming using simple C programming (and it's still working for Windows 7 and Windows 8.1 Desktop app using free Visual Studio Express 2013. I heard you could still use it for Metro programming as well). The code examples are built up gradually from simple to difficult. The explanation is brief but to the point (I can always get the exact details from MSDN). It's enjoyable book to read (specially who likes to read source code, rather than long detail explanation on how each API works). Jargon free, plain English book, perfect for beginners after passing their C programming =)
In term of comparison, I couldn't even find other book that explains WIN32 from the bottom layer. Most books focus in middle layer functionality (.NET, XAML, etc).
This book explains Windows application programming using simple C programming (and it's still working for Windows 7 and Windows 8.1 Desktop app using free Visual Studio Express 2013. I heard you could still use it for Metro programming as well). The code examples are built up gradually from simple to difficult. The explanation is brief but to the point (I can always get the exact details from MSDN). It's enjoyable book to read (specially who likes to read source code, rather than long detail explanation on how each API works). Jargon free, plain English book, perfect for beginners after passing their C programming =)
In term of comparison, I couldn't even find other book that explains WIN32 from the bottom layer. Most books focus in middle layer functionality (.NET, XAML, etc).
7 people found this helpful
Report abuse
Reviewed in the United States on May 29, 2014
Verified Purchase
This book covers just about everything a programmer needs to know to write software to run under the Windows operating system. From basic GUI design and operation to more advanced topics like using DLL's and doing advanced graphics, it's all there. The only problem is that it was written in 1998, and some of the methods the author used no longer work with later versions of Visual Studio. A little effort may be needed to adapt the sample programs to work. It would really be nice if newer edition was available. I will still use these techniques, however, now that I can see how to program without having to use the CLI/CLR or C#.
Top reviews from other countries

Michael May
4.0 out of 5 stars
Still Good
Reviewed in the United Kingdom on March 8, 2020Verified Purchase
OK, it's getting a bit long in the tooth now, but Petzold is still worth a good hard look. Consider the difference in the effort put into today's web-based content you can get for nothing and a book that (when it was new, at least) required you part with a fair amount of cold, hard cash. Professionalism counts for a lot.
I found a couple of bugbears, what with the passage of time and all:
* I couldn't get the palette animation samples to animate - either my video driver (I have an old Toshiba) doesn't support palette switching or modern drivers in general don't support it, on the basis that if you want an animation, it makes more sense to create one using an animation tool and display it in an animation control. Who uses 8-bit colour these days?
* The MDI sample worked in most ways - changed the application menu, popped up a "Do you want to close?" message for each open child window when closing the main application window, except I couldn't actually see any of my child windows. It'll work under MFC, I'm sure.
* Networking gets very light coverage and has changed notably in the last thirty years (event-driven, rather than message-driven), so you'll probably need to get more information from sonewhere.
* No coverage of DB usage at all
That said, Windows programming has always been a huge subject and continues to grow. Petzold will give you an excellent start, especially as many of the samples use deprecated functions and features that will have you running to MSDN to replace. Fixing code is a great way to learn.
I found a couple of bugbears, what with the passage of time and all:
* I couldn't get the palette animation samples to animate - either my video driver (I have an old Toshiba) doesn't support palette switching or modern drivers in general don't support it, on the basis that if you want an animation, it makes more sense to create one using an animation tool and display it in an animation control. Who uses 8-bit colour these days?
* The MDI sample worked in most ways - changed the application menu, popped up a "Do you want to close?" message for each open child window when closing the main application window, except I couldn't actually see any of my child windows. It'll work under MFC, I'm sure.
* Networking gets very light coverage and has changed notably in the last thirty years (event-driven, rather than message-driven), so you'll probably need to get more information from sonewhere.
* No coverage of DB usage at all
That said, Windows programming has always been a huge subject and continues to grow. Petzold will give you an excellent start, especially as many of the samples use deprecated functions and features that will have you running to MSDN to replace. Fixing code is a great way to learn.

Leopard
4.0 out of 5 stars
Good reference book to have
Reviewed in the United Kingdom on February 9, 2018Verified Purchase
A very good reference for anyone trying to get to grips with win32 API programming in C/C++, compliments the on line documentation well by providing *complete* working examples, not extracts and explaining how and why things work along with the options and parameters that can be varied to do different things.
Doesn't cover anything after the publish date obviously so done't expect anything post Windows 98 or NT, but everything in here still works today and works blindingly fast.
The chapter on the internet is a bit basic, but very usefully covers FTP programming.
Otherwise the focus is on the basics, including an extensive section on printing
the book is also large enough to deal with insects and project managers who wander too close
Doesn't cover anything after the publish date obviously so done't expect anything post Windows 98 or NT, but everything in here still works today and works blindingly fast.
The chapter on the internet is a bit basic, but very usefully covers FTP programming.
Otherwise the focus is on the basics, including an extensive section on printing
the book is also large enough to deal with insects and project managers who wander too close
One person found this helpful
Report abuse

John Smith
4.0 out of 5 stars
Excellent for beginners lookig to write Windows Applications still holds up/relevant despite age.
Reviewed in the United Kingdom on February 24, 2018Verified Purchase
For those looking to move away from console/cmd programs and use the power of the Windows graphical interface and the other services Windows provides. then this book is for you! This is pitched at an intermediate level and uses C throughout (sorry C++ fans) so you will need experience with C and to know the basic jargon with it as this book is not intended to teach C. It's intended to teach the Windows API to develop software and windows applications. The Content covered in Books like "The C Programming Language" (K&R) by Dennis Ritchie and Brian Kernighan up until Pointers and Structures should be sufficient enough to tackle this book, plus coincidentally this book draws many Parallels from the exercises and information from K&R to help teach newcomers to the Windows API.
This book including the ebook comes with a download/DVD which you can use to easily obtain the program examples used in this book for use in a text editor or IDE of your choice. I haven't ran into any comparability issues so far because of the age of the book the information presented and code is still relevant/functioning for all Windows up till Windows 10 (Current version of windows at the time this review was written) despite windows 98 having been the recent OS when this book was published, as the creator said himself not much of the API has changed since he publication of this book. As I said though this book primarily teaches in C as 1. The syntax is easier 2. The API was written in C. But if you really want to write in C++ the programs presented here should be easy to interpret into C++ with the help of MSDN or other Windows API Documentation for C++ if not Google is your friend.
It's quite a thick book and covers a lot in a very informative manner. But seriously if you want to write useful graphical software for windows this book is an amazing guide and reference. And if you ever wanted to know how some of the most used Windows applications communicates and uses the API to do things such as draw windows and interact with hardware like printers mouses and read input or do file management to do so for your own application this book is it!
Also you should note this is application programming orientated for the most part if you want deeper system orientated programming information for system software I'd look elsewhere. Like "Windows System Programming"
And a preliminary gripe I have with this book (haven't read it all the way through yet) is that sometimes it forgets to mention important things when laying out your code sometimes, for example in Chapter 2 when your learning about Character Encoding and the UNICODE defines its important you define this first before pre-processing the tchar header if you do it the other way around tchar will see if UNICODE has been defined before your program gets to actually set the define which means the typedefs tchar.h provides like TCHAR and Wide Formatters such as TEXT wont work. Also I recommend using both the UNICODE and _UNICODE define one for The Windows Header and the other for the C Runtime Library itself.
This book including the ebook comes with a download/DVD which you can use to easily obtain the program examples used in this book for use in a text editor or IDE of your choice. I haven't ran into any comparability issues so far because of the age of the book the information presented and code is still relevant/functioning for all Windows up till Windows 10 (Current version of windows at the time this review was written) despite windows 98 having been the recent OS when this book was published, as the creator said himself not much of the API has changed since he publication of this book. As I said though this book primarily teaches in C as 1. The syntax is easier 2. The API was written in C. But if you really want to write in C++ the programs presented here should be easy to interpret into C++ with the help of MSDN or other Windows API Documentation for C++ if not Google is your friend.
It's quite a thick book and covers a lot in a very informative manner. But seriously if you want to write useful graphical software for windows this book is an amazing guide and reference. And if you ever wanted to know how some of the most used Windows applications communicates and uses the API to do things such as draw windows and interact with hardware like printers mouses and read input or do file management to do so for your own application this book is it!
Also you should note this is application programming orientated for the most part if you want deeper system orientated programming information for system software I'd look elsewhere. Like "Windows System Programming"
And a preliminary gripe I have with this book (haven't read it all the way through yet) is that sometimes it forgets to mention important things when laying out your code sometimes, for example in Chapter 2 when your learning about Character Encoding and the UNICODE defines its important you define this first before pre-processing the tchar header if you do it the other way around tchar will see if UNICODE has been defined before your program gets to actually set the define which means the typedefs tchar.h provides like TCHAR and Wide Formatters such as TEXT wont work. Also I recommend using both the UNICODE and _UNICODE define one for The Windows Header and the other for the C Runtime Library itself.

Jeff
5.0 out of 5 stars
Have a swatch o' this big beastie !
Reviewed in the United Kingdom on June 24, 2015Verified Purchase
Given the book and hence the material within is now some 17 years old you would be forgiven for thinking it's way past it's sell by date...but you'd be wrong. Much of this is still very relevant today. In any case armed with the formidable arsenal of Google and Microsoft developers network(MSDN) as back up...this books a must for anyone looking to expand their programming knowledge to encompass windows programming with the API. One caveat, you really should know a fair bit about C or C++ coding before entertaining this. One other thing, I have this in hardback and now in Kindle as, at 1435 pages, you'll need biceps like schwarzenneger to read this in bed !
One person found this helpful
Report abuse

Mr. P. O'brien
5.0 out of 5 stars
An Exposition In How To Write Excellent Computing Texts
Reviewed in the United Kingdom on August 27, 2009Verified Purchase
When I wanted to add graphics to my programs back in the day, Microsoft made it easy with a great library for C on MSDOS. Then Windows came along and Microsoft added obfuscation rather than explanation, with nonsense such as "message maps" and Class Wizards. Being one (or more) steps removed from a real understanding of how to drive Windows didn't do it for me. Then I found this book - forget your "Learn <nothing> in 24 hours" series, "<miss the point> for Dummies" or a plethora of self-proclaimed "experts" filling reams of dead trees with dead wood. Here is a genuine Software Engineer who writes clearly, authoritatively, accurately - in fact just brilliantly about the REAL engine of Windows. The text is backed up by an arsenal of working, well-written and meaningful code that finally lets the frustrated illustrator (me in this case) see his world graphically rather than as endless lists of numbers (DSP is my thing). Back up your knowledge of the Windows API with MSDN on-line and a copy of Jeffrey Richter's "Advanced Windows NT" (still current in these days of Vista and 7) and maybe a decent graphics library (I recommend Quinn-Curtis' legacy library for C) and you will be back in control of your view of the world from a PC.
5 people found this helpful
Report abuse
What other items do customers buy after viewing this item?
Page 1 of 1 Start overPage 1 of 1
Pages with related products.
See and discover other items: windows api, operating system, system programming, window products
There's a problem loading this menu right now.
Get free delivery with Amazon Prime
Prime members enjoy FREE Delivery and exclusive access to music, movies, TV shows, original audio series, and Kindle books.