okna.h
windows.h to specyficzny dla systemu Windows plik nagłówkowy dla języków programowania C i C++ , który zawiera deklaracje wszystkich funkcji interfejsu API systemu Windows , wszystkich typowych makr używanych przez programistów systemu Windows oraz wszystkich typów danych używanych przez różne funkcje i podsystemy. Definiuje bardzo dużą liczbę funkcji specyficznych dla systemu Windows, które mogą być używane w C. Interfejs API Win32 można dodać do projektu programistycznego C, dołączając plik nagłówkowy <windows.h> i łącząc się z odpowiednimi bibliotekami. Aby użyć funkcji w xxxx . dll , program musi być połączony z xxxx .lib (lub lib xxxx .dll.a w MinGW ). Niektóre nagłówki nie są powiązane z biblioteką .dll, ale z biblioteką statyczną (np. scrnsave.h wymaga scrnsave.lib).
Pliki nagłówkowe podrzędne
Istnieje wiele podrzędnych plików nagłówkowych , które są automatycznie dołączane do pliku windows.h. Wielu z tych plików nie można po prostu dołączyć samodzielnie (nie są one samowystarczalne ) z powodu zależności.
Windows.h może zawierać dowolny z następujących plików nagłówkowych:
- stdarg.h – funkcje ze zmiennymi argumentami (standardowy nagłówek C)
- windef.h – różne makra i typy
- winnt.h – różne makra i typy (dla Windows NT ) [1]
- basetsd.h – różne typy [2]
- guiddef.h – typ
GUID
[3] - ctype.h – klasyfikacja znaków (standardowy nagłówek C)
- string.h – stringi i bufory (standardowy nagłówek C)
- winbase.h – kernel32.dll : usługi jądra; advapi32.dll: usługi jądra (np. funkcja CreateProcessAsUser), kontrola dostępu (np. funkcja AdjustTokenGroups).
- winerror.h – kody błędów systemu Windows [4]
- wingdi.h – GDI (interfejs urządzenia graficznego) [5]
- winuser.h – user32.dll : usługi użytkownika, wbudowane makro zasobów (np. makro MAKEINTRESOURCE [6] ), wbudowane makro dialogowe (np. funkcja DialogBox [7] ). [8]
- winnls.h — NLS (obsługa języka ojczystego)
- wincon.h – usługi konsoli
- winver.h – informacje o wersji [9]
- winreg.h – rejestr systemu Windows [10]
- winnetwk.h – WNet (sieć Windows) [11]
- winsvc.h – usługi Windows i SCM (Service Control Manager)
- imm.h – IME (edytor metod wprowadzania)
Dodatkowe zawiera
- cderr.h – kody błędów funkcji
CommDlgExtendedError
- commdlg.h – Typowe okna dialogowe
- dde.h – DDE (Dynamiczna wymiana danych)
- ddeml.h — biblioteka zarządzania DDE
- dlgs.h – różne stałe dla wspólnych okien dialogowych
- lzexpand.h – kompresja/dekompresja LZ (Lempel-Ziv).
- mmsystem.h – Windows Multimedia
- nb30.h – NetBIOS
- rpc.h – RPC (zdalne wywołanie procedury)
- shellapi.h – interfejs API powłoki systemu Windows
- wincrypt.h – Kryptograficzne API
- winperf.h – Monitorowanie wydajności
- winresrc.h – używany w zasobach
- winsock.h – Winsock (Windows Sockets), wersja 1.1
- winspool.h — Bufor wydruku
- winbgim.h – Standardowa biblioteka graficzna
OLE i COM
- ole2.h – OLE (Łączenie i osadzanie obiektów)
- objbase.h — COM (obiektowy model komponentów)
- oleauto.h – Automatyzacja OLE
- olectlid.h – różne definicje GUID
Makra
Kilka makr wpływa na zachowanie pliku windows.h.
- UNICODE – po zdefiniowaniu powoduje, że TCHAR jest synonimem WCHAR zamiast CHAR [12] , a wszystkie ogólne funkcje API i komunikaty, które działają z tekstem, zostaną zdefiniowane w wersjach -W zamiast -A. (Jest to podobne do makra _UNICODE środowiska wykonawczego systemu Windows C).
- RC_INVOKED – definiowane, gdy używany jest kompilator zasobów (RC.EXE) zamiast kompilatora C.
- WINVER – służy do włączania funkcji dostępnych tylko w nowszych systemach operacyjnych. Zdefiniuj go jako 0x0501 dla Windows XP i 0x0600 dla Windows Vista .
- WIN32_LEAN_AND_MEAN – służy do zmniejszenia rozmiaru plików nagłówkowych i przyspieszenia kompilacji. Wyklucza takie rzeczy jak kryptografia , DDE , RPC , powłoka systemu Windows i Winsock .