Before diving into the first tutorial the following might help explain why we prefer to create our Windows applications using the Win32 API.
Through writing an application using straight Win32 you will gain a better understanding of how the API works, reduce bloat and have more control over the appearance and behavior of your applications. You will be interacting with the windows operating system at the lowest level possible and gain access to features not available when using Microsoft Foundation Classes (MFC) or a visual compiler.
To give an example I would like you to think back to when you last saw a multicolored window, one that didn't use the current theme colors. Most likely you have rarely seen one; the reason for this is that there are no simple functions to set the colors of a window or its controls. This is a blatant attempt by Microsoft to make all applications conform to a standard appearance. By failing to provide an easy way to set the colors of a window and its controls Microsoft can be somewhat assured that few anarchistic looking applications will be produced. To overcome this limitation and many others we will need to know the Win32 API in depth; then we can create a better way to design and manage our windows through the use of owner-drawn controls and object orientated programming, which are covered later in the tutorials.
In this series of tutorials I will start by showing you how to create a standard single window application and progress through to encapsulating the main window and other controls in C++ classes.
All of the example programs used with these tutorials were compiled using the free Dev-C++ compiler which is covered in the second tutorial.
If you are new to Win32 API programming then I suggest you download a copy of the Win32 Reference Manual and this help file viewer before going on to the first tutorial on how to make a Basic Window.
For further help you could also go to #winprog on Efnet IRC where you can ask questions and talk about anything to do with the Win32 API.