Programming References for the Win32 Environment?
Pablo asks: "I have
to do some programming in Windows (for school, not by choice). To
say that I know jack-all about Windows programming would be
flattering myself. I never do any programming under *NIX without my
trusty copy of Stevens' 'Advanced Programming in the UNIX Environment'
by my side. I'm wondering if there is an equivalent 'bible' reference
book for Windows programming. Does anyone have any
recommendations?"
MSDN
It's free & it contains what you'll need to know.
Finding info is tricky sometimes; nothing's perfect.
---
Oregon
The bible is "Programming Windows" by Charles Petzold. This has been around since 3.1 and is a very good tutorial. Use MSDN as your reference.
9 95 X/o/qid=1012577986/sr=8-2/ref=sr_aps_b_1_2/202-426 8607-1287006
http://www.amazon.co.uk/exec/obidos/ASIN/157231
I concur - Petzold is a god. In addition, though, give some consideration to Brent Rector's Win32 Programming. This book is almost unknown, but it is a far, far more cumulative reference and guide to the Win32 APIs than the last couple of editions of Petzold's book.
For MFC? The latest edition of Inside Visual C++ is called Programming Visual C++. After David Kruglinski's untimely death while hanggliding, George Shepherd and Scot Wingo took over. Their other book, MFC Internals is among the best programming books ever written, even if it IS about MFC.
The best book on COM and ATL 3.0 is Developer's Workshop to COM and ATL 3.0 by Andrew Troelsen. This book is meant for programmers, and will take you through COM in C++, then show you how to take all the shortcuts of ATL (Active Template Library). It's hardly known, but it's a really well-written book - much better than the more oft-quoted standards.
OReilly has a few good books, and Addison Wesley books are consistently good. Both companies books are generally geared to the more advanced, experienced programmer. Almost any book by one of the following authors will be useful:
Chris Sells, Don Box, Brent Rector, Mike Woodring, George Shepherd, Scot Wingo, Mike Blaszczak, Jeffrey Richter, Charles Petzold, Jeff Prosise. Starting with the books I mention, a C++ programmer can quickly begin to find his/her way about the arbitrariness that is Windows.
Of course, .NET is a monkey wrench for some developers. Rest assured that C++/ATL/COM is still there, though, and forms the best and only solution for native-code Windows programming. I can't recommend too many books for .NET - it's just too early. The Microsoft MSDN site is the best reference so far, as well as a great reference for all the rest. Best of luck!
What'dya mean there's no BLINK tag!?
Want to -really- know the Windows API, the best challenge would be to write Assembler code, start with: Iczelion's Win32 Assembly Homepage
If you're familiar with C, check out the generic Win32 sample at MSDN to get you started with the basic framework: Generic Win32 Ap
Windows C++ Programmers prefer ATL/WTL nowadays to the bloat of MFC. ATL (Active Template Library) makes it easy to write COM components and WTL (Windows Template Library) is a lightweight C++ wrapper for Win32 functions that MS uses internally. They released WTL unsupported with the last few Platform SDK CDs. Some tutorials and articles on ATL/WTL.
Now you can also go the maverick route and install Cygwin and XFree86 on Windows (next best thing to being able to code on *nix.)
Cygwin GNU Tools for Windows
XFree 86 For Windows
Enjoy
Chris
"As flies to the wanton boys are we to the gods; they kill us for sport." - William Shakespeare, King Lear