windows.h
Эту статью предлагается удалить. |
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); }
См. также
[править | править код]Примечания
[править | править код]- ↑ Richard Raposa. Understanding C++ for MFC. — ISBN 148228068X. Архивировано 30 июня 2022 года.
- ↑ Charles Petzold. Programming Windows. — 1998. — ISBN 0735646031. Архивировано 30 июня 2022 года.
- ↑ Module 1. Your First Windows Program — Win32 apps | Microsoft Docs . Дата обращения: 1 июля 2022. Архивировано 1 июля 2022 года.
Ссылки
[править | править код]- Документация Windows API (англ.)
int main() { printf("Hi"); return 0; } | Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |