The book is called "Programming Windows fifth edition" It looks quite old and I am worried it will not be up to date... (I know it sais it is 'up to date' but I want to make sure that it is because it looks like it is quite a lot of money.)
Can anyone verify that this is a good book (because I have heard it is) and whether or not it is really 'up to date'. (Also, if there are any other books that are better, could you let me know about them?)
Although certainly an old book -- as the 5th edition was printed in 1998, this is actually a great resource for the Win32 API (which actually hasn't really changed during this time period). I would definitely recommend it, personally.
All the core elements are still relevant, and are covered well in the book. There is no mention of 64-bit obviously (although the book contrasts 16-bit to 32-bit windows, and traces several elements to their origin in the 16-bit environment that brought them about).
There is no discussion of the Thread pool API, Setup API, GDI+, UAC, and COM, although you can (and probably should) use MSDN to supplement (and cross reference) what's said therein for the subjects you want to learn more about.
I've also heard Johnson M. Hart's "Windows System Programming" be recommended, whose current edition is of 2010 I think, although I haven't had the chance to read it yet.
I'd also recommend that book. Don't worry if you can't get a book with the CD included, as the programs are available from the author's website.
I've noticed the price of that book used fluctuates quite a bit. Here's some further info for you to chew on. The fourth edition might be easier and a lot cheeper to get. It indeed does cover COM somewhat, although if you are serious about COM you would certainly need other books too, of which there are many. The big difference between the 4th and 5th editions is that the 5th edition covered UNICODE, whereas the 4th used the char data type for all strings. Otherwise the programs are pretty similiar.
This is rather amazing when you think about it. Let's take, for example, the 4th edition, which I have been describing. That book came out with Windows 95, and was Petzold's update of this standard text to cover the move from 16 bit to 32 bit Windows. So we're talking 1995 code essentially. That is all but 18 year old code! Can you think of any other coding paradigm, e.g., .NET, MFC, OWL, etc., where an 18 year old coding technique is still current? Where you can take code from an 18 year old book and still compile and use the resultant *.exe file as an up to date program? Something to think about!
The book is good. I personally use it myself though I only borrow it from the city library. I can't talk much about it since I've only read the first 5 chapters and skim-through the networking chapter. So far it was a good read, it does not take a genuis to understand its content.