As everybody says, Programming Windows by Charles Petzold, now in its fifth edition is the definitive guide to the Win32 API, and windows based programming in general. Anybody who has experience in C programming and would like to learn how windows programs are written will be very happy reading this book, and will come away with a new found knowledge of windows programming. Covering all the basics such as the structure of a windows program written in C, and the major aspects of the GDI, and other advanced topics after reading this book you will be ready to write your own windows programs, and then be ready to move onto more advanced topics such as MFC, where it helps to know what is really going on. The major topics covered in the book are graphics which include the printer, bitmaps, palettes, text and fonts, and also metafiles. The advanced topics go to include the basics of the multiple-document interface, multithreading and DLL's, and also sound programming and a small bit of internet programming. Those who want to know more about how the more advanced topics work would be happy reading Programming Applications for Microsoft Windows by Jeffrey Richter also, which goes into more detail about threads and DLL's than this book.