Are there any modern windows programming books?

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.
Here is where I learned COM from: http://msdn.microsoft.com/en-us/library/windows/desktop/aa389762(v=vs.85).aspx

I haven't played around with ATL yet, honestly I haven't found a need to. If you look at all of the objects that you already have access to1 I don't see where you would need to add another unless it's specifically for an application or service you are writing.

1: To see what objects you have and their attributes go to start -> Run\Search -> type("wbemtest") -> Click("Connect") -> choose a namespace -> Click("Connect") -> Click("Enum Classes") -> Choose("Recursive") -> Click("OK"). This will dump a list of all of the COM objects in whatever namespace you choose, and there are a ton by default.
How useful is ATL for creating GUI's? That's mostly what I'm interested in.
If you're interested in using ATL to write GUIs then you should check out the Windows Template Library (WTL). This build on top of ATL (which is focused on COM objects) by adding additional classes for various GUI elements (the common controls, a splitter, etc.)

While WTL is not officially supported my Microsoft, the code does originate from there (it was made open source in 2004.)

In case you're interested, I wrote a "sale pitch" for WTL earlier this year, which includes code for a basic WTL "Hello, world!" app.

MFC and ATL are part of WDK (in case you didn't know...)
http://www.cplusplus.com/forum/windows/102538/

Andy

Windows Template Library
http://en.wikipedia.org/wiki/Windows_Template_Library

Windows Template Library (WTL)
http://sourceforge.net/projects/wtl/

Windows Template Library 8.0
http://msdn.microsoft.com/en-us/magazine/cc163305.aspx

Windows Template Library (WTL) has released as Open Source on SourceForge.net
http://blogs.msdn.com/b/robmen/archive/2004/05/12/130577.aspx

WTL code
http://www.viksoe.dk/wtldoc/

WTL
http://www.codeproject.com/kb/wtl/

including:

WTL Documented
http://www.codeproject.com/Articles/583/WTL-Documented

The WTL wiki
http://wtl.wikispaces.com/
Last edited on
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
Last edited on
Wow that's alot to look at. Thanks!

I guess I was hoping there would be a book like Programming Windows 5th edition that covers some of the newer com-based APi's. Essential COM and ATL Internals look interesting though.

I actually used to have Windows via C/C++. It doesn't really cover COM at all but more or less dissects the structure of a running process.
Topic archived. No new replies allowed.