I am aware of the 6th(?) edition of Programming Windows but it seems to focus on windows 8 "apps". I would like something that uses c++ and explains things like COM and ATL. There are books on these but they're from the early 90's so I'm not sure how useful they would be today. |
Well, the technologies you mention do come from the 90s, so books written at that time will be as good a starting point as any. After all, the basics haven't changed; the improvements and extensions you can pick up from MSDN, etc.
For classic Windows API programming, Petzold's
5th edition is still prob. the best book. It doesn't use C++, but then the old WinAPI is C after all.
Programming Windows, 5th Edition
http://www.charlespetzold.com/pw5/
For the fundamentals of COM, the Don Box's book "Essential COM" is still prob. the best introduction.
Essential COM [Paperback]
Don Box (Author)
http://www.amazon.co.uk/Essential-COM-Don-Box/dp/0201634465
For ATL it's not quite so clear. The book I have is "ATL Internals" by Rector and Sells (my copy is from 1999, but there is a second edition from 2006), which usually gets good reviews.
ATL Internals: Working with ATL 8 (2nd Edition) [Paperback]
Christopher Tavares (Author), Kirk Fertitta (Author), Brent E. Rector (Author), Chris Sells
http://www.amazon.com/ATL-Internals-Working-2nd-Edition/dp/0321159624
And while cross-checking my suggestions against a few forum posts, I also saw mention of this book:
Windows via C/C++ (Pro - Developer) [Hardcover]
Jeffrey M. Richter (Author), Christophe Nasarre (Author)
http://www.amazon.com/dp/0735624240/?tag=stackoverfl08-20
I have an earlier addition of this book, which has the name "Advanced Windows". It's a good book; but prob. one to read after Petzold.
To the best of my knowledge, there are no books about WTL; only online resources.
Andy
Also see:
The best books to learn WINAPI, MFC, ATL, WTL [closed]
http://stackoverflow.com/questions/5446079/the-best-books-to-learn-winapi-mfc-atl-wtl
The Joel on Software Discussion Group (CLOSED)
Win32 API, MFC, ATL books
http://discuss.joelonsoftware.com/default.asp?joel.3.126383.6