win api learning

Hi guys ,
I would like to learn WIN API programming is there any good books that any one would recommend for me.Please under stand that I don't know anything about Console programming and a complete beginner in specified field.BuT I consider myself a mid-level C++ LEARNER now.I tried using online PDF documents but I kind of couldn't adjust reading online tutorials So a good book with international availability will be fine
Programming Windows Charles Petzold ed 5

x2 what Aceix said.

You just about have to start with console mode programming to learn C or C++. Note carefully that all the coding 'isms' in Charles' "Programming Windows" books are C isms - not C++ isms. This throws a lot of unsuspecting beginners a cruel twist. One of the main topics you will be agonizing over in learning C++ are classes. You will see none of that in Charles' book, nor anything whatsoever from the C++ Standard Library. The basic architecture of Windows was created before C++ became popular, and its Api is C based - not C++ based. However, it is very object oriented - if that's your thing. It's just C based - not C++ based. Just passing this information off as a warning.
yes, as others said, Charles Petzold book is "must read" for Win32.
also using the MSDN website in the same time while reading may clear some doubts from the book it self since the book is kinda old.
ya thanks for the reply.I learned C++ and is going to learn C soon so there will be no problem at all
Last edited on
lol wait, don't go learn C... you don't need to learn C.
Just use C++ and the Windows API it self.
nobody said you need C in order to fight with windows. :)
no,no.I got to learn C at college or else I will fail "basic computer engineering " paper ;)
C++ includes C, of course. The reason I made the point about C is that in various C++ books I've seen, and I'm assumming from that in various C++ classes for new students, there are aspects of C that are not overly emphasized, and maybe not even taught at all. Let me make one concrete example, and that would be function pointers. I don't believe these are emphasized in C++ because the C++ language itself encapsulates the creation of classes. In C++ one doesan't have to perform a memory allocation for a virtual function table so as to create a class. The compiler takes care of that. One doesn't need to call class members through function pointers - that's taken care of behind the scenes through the C++ syntax.

However, when confronted by the Windows Api, these things are all over the place, and right from the very start. For example, one of the most important members of a Window Class is a pointer to the Window Procedure, i.e. ...


And that's only the beginning. All the Enum family of functions require use of function pointers.

I for one am not ashamed of what C had brought to the table before C++ became popular. Do I compile as C now? No, I don't. But I consider it to be an excellent foundation for learning C++. I'm not of the school that believes C needs to be 'unlearnt' before beginning with C++.
Registered users can post here. Sign in or register to post.