windows.h — Windows-специфичный заголовочный файл языка программирования С, в котором объявляются функции, предоставляющие интерфейс доступа к Windows API[1]. В случае, если в файле используются и другие заголовочные файлы, связанные с Windows API, windows.h должен быть первым[2].

Дочерние заголовочные файлы

  • excpt.h — обработка исключений
  • stdarg.h — функции с сигнатурами аргументов переменной длины (стандартный заголовочный файл C)
  • windef.h — различные макросы и типы
  • winnt.h — различные макросы и типы для Windows NT
  • basetsd.h — различные типы
  • guiddef.h — тип GUID
  • ctype.h — символьные типы (стандартный заголовочный файл C)
  • string.h — строчные типы и их буферы (стандартный заголовочный файл C)
  • winbase.h — kernel32.dll, advapi32.dll: функции ядра
  • winerror.h — Коды ошибок для Windows
  • wingdi.h — GDI
  • winuser.h — user32.dll
  • winnls.h — локализация
  • wincon.h — консольные службы
  • winver.h — информация о версии
  • winreg.h — реестр Windows
  • winnetwk.h — сетевые службы
  • winsvc.h — диспетчер управления службами
  • imm.hhh — IME (редактор методов ввода)

Дополнительные заголовки

  • cderr.h — CommDlgExtendedError коды ошибок функций
  • commdlg.h — Common Dialog Boxes
  • dde.h — DDE
  • ddeml.h — библиотека управления DDE
  • dlgs.h — набор констант для Common Dialog Boxes
  • lzexpand.h — алгоритм сжатия LZ77
  • mmsystem.h — Windows Multimedia
  • nb30.h — NetBIOS
  • rpc.h — удалённый вызов процедур
  • shellapi.h — Windows Shell[англ.] API
  • wincrypt.h — криптографическое API
  • winperf.h — измерение производительности
  • winresrc.h — ресурсы
  • winsock.h — Winsock (сокеты Windows), версия 1.1
  • winspool.h — управление очередью печати
  • winbgim.h — стандартная графическая библиотека

OLE и COM

  • ole2.h — OLE
  • objbase.h — COM
  • oleauto.h — OLE Automation
  • olectlid.h — различные определения для GUID

Пример использования

В данном примере рассматривается создание нового окна[3].

#include <windows.h> LPSTR szClassName = "MyClass";HINSTANCE hInstance;LRESULT __stdcall MyWndProc(HWND, UINT, WPARAM, LPARAM); int __stdcall WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow){    WNDCLASS wnd;    MSG msg;    HWND hwnd;     hInstance = hInst;             wnd.style = CS_HREDRAW | CS_VREDRAW; //объяснение ниже    wnd.lpfnWndProc = MyWndProc;    wnd.cbClsExtra = 0;    wnd.cbWndExtra = 0;    wnd.hInstance = hInstance;    wnd.hIcon = LoadIcon(NULL, IDI_APPLICATION); //иконка по умолчанию    wnd.hCursor = LoadCursor(NULL, IDC_ARROW);   //курсор по умолчанию    wnd.hbrBackground = (HBRUSH)(COLOR_BACKGROUND+1);    wnd.lpszMenuName = NULL;                     //без меню    wnd.lpszClassName = szClassName;     if(!RegisterClass(&wnd))                     //зарегистрировать WNDCLASS    {        MessageBox(NULL, "This Program Requires Windows NT",                          "Error", MB_OK);        return 0;    }     hwnd = CreateWindow(szClassName,                        "Window Title",                        WS_OVERLAPPEDWINDOW, //оформление окна поумолчанию                        CW_USEDEFAULT,                        CW_USEDEFAULT,       //координаты по умолчанию                        CW_USEDEFAULT,                        CW_USEDEFAULT,       //ширина и высота по умолчанию                        NULL,                //без родительского окна                        NULL,                //без меню                        hInstance,                        NULL);               //без параметра    ShowWindow(hwnd, iCmdShow);              //отрисовать окно на экране    UpdateWindow(hwnd);             //окно должно правильно обновляться     while(GetMessage(&msg, NULL, 0, 0))      //цикл сообщений    {        TranslateMessage(&msg);        DispatchMessage(&msg);    }    return msg.wParam;} LRESULT __stdcall MyWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){    switch(msg)    {        case WM_DESTROY:            PostQuitMessage(0);            return 0;    }    return DefWindowProc(hwnd, msg, wParam, lParam);}

См. также

Примечания

Ссылки