In article <3C78EBAD.24715.D7D13@localhost>, Tim Wegner <twegner@swbell.net> writes:
I hope to be programming in new environments in a future life also. Very hard to get a toehold.
This is the road I travelled: - "Win32 Programming" by Rector & Newcomer. This book teaches you basic Win32 API programming, all the while assuming you have a brain and already know how to write programs. It is full of advice from the battle-scarred: sometimes knowing what -not- to do is just as important as knowing what to do. Its comprehensive enough that you can use it as a Win32 reference and be confident that after you've read a chapter on a subject you -really- know that subject. I spent many hours looking at Win32 programming books in the bookstore before settling on this one. A bonus is that it doesn't fall apart with heavy use because its hardback. - "Programming Windows with MFC", 2nd ed, Jeff Prosise. MFC is at least as big a beast as Win32. It helps to start with a solid grounding in the Win32 API, but you can learn the Win32 API concurrently if you have a good online reference like MSDN library (which can be browsed for free on the web). Again, he starts with the assumption that you have a brain, have written programs before, and have even written some raw Win32 API programs. He starts by doing things the "hard way" by writing complete MFC apps by hand without the AppWizard. By the time he introduces you to the AppWizard, you are already familiar with everything the AppWizard generates so its not "magic". With those two books you will have a very solid grasp of Win32 and MFC.
From there you can go further into COM programming, or DirectX programming. For COM I suggest ATL, and "ATL Internals" by Rector & Sells is the encyclopedic reference for ATL, but it might be more detail than you need. "Professional ATL COM Programming" by Grimes is a straightforward introduction to COM programming with ATL. For some advanced tasks with COM, Grimes wasn't enough for me and I didn't "get it" until I read ATL Internals. (Specifically, exposing STL containers as COM collections with both the collection and the enumerators built with the ATL template classes.)
If you aren't yet familiar with the massive amounts of functionality in the C++ standard library, I definately suggest "C++ Standard Library" by Nicolai Josuttis. Again, a hardback book that will hold up to frequent use and comprehensive enough that you can use it as your sole reference and not find yourself wanting. Avoid any C++ books by Schildt, they suck horribly in my opinion. As for .NET and all that, my guess is that its still too new for good books, but I haven't investigated. Don't succumb to marketing induced fear and think that your C++ knowledge (or even knowledge of COM) is irrelevant now that .NET is here. It has its place, but core Win32 API apps will be with us for quite some time. Fortunately DOS is finally dead. ;-) -- Ask me about my upcoming book on Direct3D from Addison-Wesley! Direct3D Book <http://www.xmission.com/~legalize/book/> Don't Support Spammers! Boycott Fractal Painter 7! <http://www.xmission.com/~legalize/spammers.html>