How can I learn about the Win32 API?
Solution 1
From MSDN you can find the WinAPI list: The following is a list of the reference content for the Windows application programming interface (API). http://msdn.microsoft.com/en-us/library/ff818516(v=vs.85).aspx
You can learn some stuff via Visual Basic Win API functions. Examples are very easy to follow and understand. Then you can translate the code to C#.
There Are 598 Visual Basic Windows API Functions in 55 Category http://www.ex-designz.net/api.asp
Solution 2
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 3
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 4
Win32 API - help documents and samples should be in Windows SDK download. http://www.microsoft.com/download/en/details.aspx?id=8279
Solution 5
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`.
Related videos on Youtube
MasterMastic
If apple pies were people, people would be lemons. Have a tasty afternoon! :3 (I honestly don't know)
Updated on January 26, 2022Comments
-
MasterMastic over 2 years
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 aMessageBox
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.-
silbana about 12 yearspossible duplicate of win32 api programming book
-
Tung about 12 yearsI often feel that pinvoke is better than msdn.
-
user1703401 about 12 yearsTo really understand the core of pinvoke, you have to learn the C language first. Pinvoke declarations often intentionally alter the declaration from the stock SDK definition to make the function easier to use. Particularly functions that take PVOID or LPARAM, like the ubiquitous SendMessage(), can be declared better by altering the argument types. The best place to find help is, well, here.
-