Which to Learn?
I have been programming in scripting languages and C# for web applications for a while now. I started Windows programming and bought the book by Charles Petzold.
I'm trying to become more marketable and am trying to decide what to go with after I read the Windows Programming book. What is the route to go? MFC, ATL, STL, COM or any other suggestions?
Learn C++, shouldn't be difficult with your background, (STL is part of standard C++). The book is a good book for learning Win32, and I would always advocate learning the API before a class library. If you want to learn a class library then MFC, Jeff Prosise's book "Programming Windows with MFC" second edition is a good book for that.
COM etc. is beginning to become something of a legacy technology. If you really want to get into it, look at Mark Michaelis's book "COM+ from the Ground Up".
A bit of database programming knowledge will help you in many lines of work. Lyn Robisons book "Database Programming with Visual C++ 6" is good, but assumes you are using VC++ and to a large extent, MFC.
Java is also a useful tool to have in your portfolio.
The whole industry is in a bit of a slump at the moment, take the opportunity to learn learn and learn some more.
Webprogramming and embedded systems are probably the most sought after skills at the moment, but of course, it changes all the time.
C++! STL is part of C++.
For GUI, learn MFC.