Programming Windows®, Fifth Edition (Microsoft Programming Series) 5th Edition
Use the Amazon App to scan ISBNs and compare prices.
There is a newer edition of this item:
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.
To get the free app, enter your mobile phone number.
Frequently bought together
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.
- 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)
- Customer Reviews:
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
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.
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.
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.
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).
Top reviews from other countries
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.
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
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.