'How can I learn about the Win32 API? [closed]

I want to learn how to be able to use the Win32 API, since recently I've got a lot of tasks I need to do which requires functions from user32.dll, so I'm trying to learn and I Googled but the thing is: every tutorial there is about it, just tells you how to do a certain thing. like show a MessageBox through the Win32 API, but you can't actually learn Win32 framework.

So how do you actually learn it? How do you know all the functions? with managed libraries it's quite easy, especially with Visual Studio which provides IntelliSense, the Object Browser etc. but the Win32 API is so messy (at least from a C# developer standpoint).

The way I've been using it until now is just searching on Google for a task and seeing that it can be done with the Win32 API (I had no idea) and just copy the function and use it (and it's horrible for me, I feel I'm missing a lot of "power").

So, how can I learn it?

To be clear: I'm not interested in a book. as bad as it sounds I need this knowledge for a project and I just don't have the time to invest in a book. I did get my answer although.
Thank you all.



Solution 1:[1]

First, Win32 is a set of subsystems. You possibly can't learn them all easily. You just have to prioritize.

But then, to be able to say what you'd like to learn, you probably need a big picture. I believe the best way to approach Win32 is through "Programming Windows" by Charles Petzold. It's very clear to read and easy to understand. There are a lot of examples you can pick up and experiment on your own.

After you learn the basic stuff, I recommend "Microsoft Windows Internals" by Mark Russinovich. It's rather advanced but lets you understand what's inside Windows core.

Solution 2:[2]

I personally feel you should start with Calling Win32 DLLs in C# with P/Invoke

This will provide you with most of the basic knowledge you need to know about the WINAPI using pinvoke in c#. I also had the offline version of the WINAPI functions provided by MSDN but I can't remember where I downloaded it from.

Lastly, get your hands on some basic easy to understand WINAPI code, there's http://mwinapi.sourceforge.net/ for this.

EDIT: You can download the offline version of the documentation from phatocde.

Solution 3:[3]

Win32 API - help documents and samples should be in Windows SDK download. http://www.microsoft.com/download/en/details.aspx?id=8279

Solution 4:[4]

Take a look at theForger's Win32 API Programming Tutorial as well, which:

attempts to get you started developing with the Win32 API as quickly and clearly as possible`.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Wiktor Zychla
Solution 2
Solution 3 Min Min
Solution 4 MasterMastic