I am familiar with WinForms and MFC which are both built on top of the WIN32 API. So really in either of those two, when you call for a Button
in the background that framework calls multiple API functions to get the work done.
So my question is, do all other libraries interact with windows via the WIN32 API?
The only other one I can think of is WPF (Maybe Qt? Idk what Qt is at all), I am not familiar with anything else.
The Windows API is the public programming interface for Windows, and any (desktop) application running on Windows will eventually call into the Windows API to get things done. This is accomplished through different levels of abstraction:
malloc
ornew
will be mapped to Windows API calls by the CRT.The only exception I could think of is WinRT. Some parts of WinRT use existing Windows services by means of the Windows API. Other parts are completely new from top to bottom, and directly interact with the kernel.
There is also the possibility to sidestep the Windows API and directly interact with the kernel through the Native API. This, however, is not publicly documented, and not an official programming interface.