I've noticed something since I started writing DotNet code. It seems that people aren't being taught or are simply ignorant of the Windows API, and don't know to think that far outside the box when they need to do something that more experienced programmers (people that started programming before 2001) are more ready/able to fall back to.
One of my favorite sites is pInvoke.net
]. It contains invaluable information regarding the use of the Windows API via the
namespace, and it contains not only the correct method prototypes, but examples for using most of the API calls.
Using the Windows API is an essential part of the development process regardless of what Microsoft tries to tell you.