I think what Denthul is explaining is correct. windows.h does hold the declarations, I believe. So in essence it is basically part of the API, or is
the API. You will also need to have static linked library files (.lib) loaded in via the compiler linker as they will be needed to compile. They will usually contain definitions. As for .dll (dynamic link library) files, these are similar to static library files, however, they get linked to the executable during run time. Hopefully I said all that correctly.