
Good but could be better - What impressed me most about this book was the subject range. It doesn t cover GUI stuff, but does cover UNICODE, threading, file handling, sockets, writing services, structured exception handling etc, and is pretty much up to date at time of writing this review (it doesn t cover Vista but does touch on 64-bit issues). There are books that cover some of these subjects more deeply, but I cannot think of a book that currently attempts to cover all of these subjects to the level that this book does or with such a consistent usage of Windows techniques.Although this book does cover bits of the C run-time library, it concentrates more on what the Windows API can do for you that the C run-time cannot. This particularly showed through in the section on file handling. For someone like me who started working with the C and the C run-time library 20+ years ago, has worked with Windows APIs since the very first version of MS Windows appeared, worked with C++ for more than 10 years and worked on numerous UNIX projects too (often with code portable between Windows and UNIX), this book provides numerous reminders of why I should consider Windows APIs instead of C run-time libraries on projects where I don t need my code to be portable to UNIX. That s the key thing though - for an experienced developer this book largely acts as a reminder or as a trigger to go investigate certain things further, for rarely did it feel like an authoritative guide to the topics included. It is good, but not authoritative enough to be worthy of 5 stars. For example, my speciality is high-performance, multi-threaded servers handling protocols such as TCP/IP. Although this book covers multi-threading fairly well (although not brilliantly), I was particularly disappointed by the Sockets coverage - I could be wrong but I got the impression that the author prefers other interfaces to the Sockets API. Similarly, structured exception handling was covered very well, and file handling and memory handling pretty well, but the section on services felt a bit lightweight.Example code in the book appears to be pretty good, although I have spotted a few minor issues. I haven t checked the errata on the author s web-site, but would hope that corrections do appear there.So to conclude - yes, I think any serious Windows developer (particularly if writing server apps) should have a copy of this alongside books such as Jeffrey Richter s Programming Applications for Microsoft Windows, but having said that, I suspect that most people will think of Jeffrey Richter as the more authoritative even if in need of an update (which is planned to be happening later this year under a new title).
Excellent starter for the WIN API - I had never programmed using the Win API (apart from the odd Visual Basic API call) before. I do, however, know C & C++ pretty well inside out.The book is well written and very readable. There are plenty of examples in the book, and they are supported by a downloadable ZIP file that contains the actual code that you can simply compile & run. The only criticism I have about the examples is that they could be a little better explained. Some things are left to the reader to sort out. However, if you already know C or C++ this should not be too difficultThis is not a book for C & C++ beginners. It is bang up to date & covers all versions of the API from the earliest versions of Windows to the latest versions, even referring to the emerging Win64 technology.I would recommend this book to anyone who needs to go beyond standard C / C++ or even go beyond MFC. It would also be useful to anyone who needs to know what goes on behind the scenes in Windows or MFC.