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.