windows.h
Эта статья нуждается в дополнительных цитатах для проверки . ( апрель 2017 г. ) |
windows.h — это Windows заголовочный файл, специфичный для , для языков программирования C и C++ , который содержит объявления всех функций Windows API , все общие макросы, используемые программистами Windows, а также все типы данных, используемые различными функциями и подсистемы. Он определяет очень большое количество функций, специфичных для Windows, которые можно использовать в C. Win32 API можно добавить в проект программирования на C, включив заголовочный файл <windows.h> и связав его с соответствующими библиотеками. Чтобы использовать функции в xxxx . dll , программа должна быть связана с xxxx.lib (или lib xxxx.dll.a в MinGW ). Некоторые заголовки связаны не с .dll, а со статической библиотекой (например, scrnsave.h требует scrnsave.lib).
Дочерние заголовочные файлы
[ редактировать ]Существует ряд дочерних файлов заголовков , которые автоматически включаются в windows.h. Многие из этих файлов не могут быть включены сами по себе (они не являются автономными ) из-за зависимостей.
windows.h может включать в себя любой из следующих файлов заголовков:
- stdarg.h — функции с переменными аргументами (стандартный заголовок C)
- Windef.h – различные макросы и типы
- winnt.h — различные макросы и типы (для Windows NT ) [1]
- basetsd.h – различные типы [2]
- guiddef.h – файл
GUID
тип [3] - ctype.h — классификация символов (стандартный заголовок C)
- string.h — строки и буферы (стандартный заголовок C)
- winbase.h – kernel32.dll : службы ядра; advapi32.dll : службы ядра (например, функция CreateProcessAsUser), контроль доступа (например, функция AdjustTokenGroups).
- winerror.h — коды ошибок Windows [4]
- wingdi.h – GDI (Интерфейс графического устройства) [5]
- winuser.h – user32.dll : пользовательские службы, встроенный макрос ресурсов (например, макрос MAKEINTRESOURCE [6] ), встроенный диалоговый макрос (например, функция DialogBox [7] ). [8]
- winnls.h – NLS (поддержка родного языка)
- wincon.h — консольные службы
- winver.h – информация о версии [9]
- winreg.h — реестр Windows [10]
- winnetwk.h – WNet (сеть Windows) [11]
- winsvc.h — службы Windows и SCM (диспетчер управления службами).
- imm.h — IME (редактор метода ввода)
Дополнительно включает в себя
[ редактировать ]- cderr.h –
CommDlgExtendedError
коды функциональных ошибок - commdlg.h – Общие диалоговые окна
- dde.h – DDE (динамический обмен данными)
- ddeml.h — библиотека управления DDE
- dlgs.h — различные константы для общих диалоговых окон.
- lzexpand.h – сжатие/распаковка LZ (Лемпель-Зив)
- mmsystem.h – Мультимедиа Windows
- nb30.h — NetBIOS
- rpc.h – RPC (удаленный вызов процедуры)
- shelapi.h — оболочки Windows API
- wincrypt.h – Криптографический API
- winperf.h — Мониторинг производительности
- winresrc.h – используется в ресурсах
- winsock.h – Winsock (Windows Sockets), версия 1.1
- winspool.h – диспетчер очереди печати
- winbgim.h – Стандартная графическая библиотека.
ОЛЕ и COM
[ редактировать ]- ole2.h – OLE (связывание и внедрение объектов)
- objbase.h — COM (объектная модель компонентов)
- oleauto.h — OLE-автоматизация
- olectlid.h – различные GUID определения
Макросы
[ редактировать ]Несколько макросов влияют на поведение windows.h.
- UNICODE – если он определен, это приводит к тому, что TCHAR становится синонимом WCHAR вместо CHAR [12] , и все функции и сообщения API общего типа, которые работают с текстом, будут определены для версий -W вместо версий -A. (Он похож на макрос _UNICODE среды выполнения Windows C.)
- RC_INVOKED – определяется, когда ресурсов (RC.EXE). вместо компилятора C используется компилятор
- WINVER – используется для включения функций, доступных только в новых операционных системах. Определите его как 0x0501 для Windows XP и 0x0600 для Windows Vista .
- WIN32_LEAN_AND_MEAN — используется для уменьшения размера заголовочных файлов и ускорения компиляции. Исключает такие вещи, как криптография , DDE , RPC , Windows Shell и Winsock .
См. также
[ редактировать ]