Windows API

Windows API este o interfață destinată programării aplicațiilor pentru sistemul de operare Microsoft Windows (API este acronimul din limba engleză pentru Application Programming Interface). Windows API este cunoscută, în general, cu numele de Win32 API, însă denumirea Windows API reflectă mai precis capacitățile și utilitatea sa, suportul atât pentru Windows 32-biți, cât și pentru Windows 64-biți.
Microsoft Windows SDK ( en. Software Development Kit) conține documentația și unelte necesare programatorilor pentru a realiza aplicații folosind Windows API.
Prin Win32 API, programatorul are acces direct la o mare parte a funcțiilor de nivel jos (en. low-level) ale sistemului de operare, putând crea într-un mod foarte flexibil aplicații.
Windows API conține o ofertă de servicii pentru toate aplicațiile bazate pe ferestre (en. windows). Această interfață de programare permite utilizatorilor să realizeze o interfață grafică propriilor aplicații, să acceseze sistemul computerului, memoria acestuia, dispozitivele (fie de intrare, fie de ieșire), să implementeze sunete, imagini, video sau chestiuni de rețea (respectiv Internet) în acestea (în aplicații). Programarea cu Windows API înseamnă primirea, interpretarea, trimiterea mesajelor, către ferestre, sau controale (obiecte controlabile - ex. ToolBox, EditBox, Button, Text, CheckBox).
Funcția principală (en. main - WINAPI WinMain) a unei aplicații Win32 conține o buclă (structură iterativă) (ex. while() - limbajul C++) în care sunt apelate funcțiile de preluare și traducere a mesajelor trimise de către utilizator (prin intermediul dispozitivelor de intrare, apoi al sistemului de operare, în cazul nostru Windows). Mesajele sunt interpretate și trimise mai departe ferestrei active. Mesajele pot fi trimise atât de sistem, asemenea unor mesaje din "subconștient", dacă ar fi să facem o comparație cu creierul uman, cât și explicit, "conștient", prin funcția SendMessage(). Fiecărei ferestre i se asociază o procedură responsabilă cu interpretarea mesajelor primite. Spre exemplu, dacă unei ferestre i se trimite un mesaj de distrugere, aceasta se dispărea. Dacă unui control de tip CheckBox i se va trimite mesajul de validare, în dreptul său va apărea binecunoscutul marcaj de validare.