windows.h是在可在C和C++中使用的仅用于Windows的头文件,其中包含所有Windows API中函数的声明、程序员常用的Windows宏和各种函数所要使用到的数据类型和子系统。它定义了大量可在C和C++中使用的适用于Windows的特定函数。在源文件中添加windows.h头文件并将其链接到对应的lib中,就可以将Win32 API包含到项目里边。假如你要使用***.dll中所包含的函数,那么你就应该将程序链接到***.lib中(在MinGW中,这个扩展将会变为***.dll.a)。一些头文件不会与.dll 关联,而与静态库关联(例如scrnsave.h 需要scrnsave.lib)。
windows.h中本身包含许多子头文件。由于它们之间特殊的依赖关系,这些子头文件很多都不能被程序单独地包含(它们不是自包含的)。
下面是Windows.h头文件中可能包含的头文件与它们各自的作用的一个对照:
- 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 :内核服务(例如CreateProcessAsUser 函数),访问控制(例如AdjustTokenGroups 函数)。
- winerror.h – Windows 错误代码
- wingdi.h – GDI (图形设备接口)
- winuser.h – user32.dll :用户服务
- winnls.h – NLS(本地语言支持)
- wincon.h –控制台服务
- winver.h –版本信息
- winreg.h – Windows 注册表
- winnetwk.h – WNet(Windows 网络)
- winsvc.h – Windows 服务和SCM (服务控制管理器)
- imm.hhh – IME (输入法编辑器)
- cderr.h –
CommDlgExtendedError
函数错误代码
- commdlg.h –常用对话框
- dde.h – DDE (动态数据交换)
- ddeml.h – DDE 管理库
- dlgs.h –常用对话框的各种常量
- lzexpand.h – LZ (Lempel-Ziv) 压缩/解压缩
- mmsystem.h – Windows 多媒体
- nb30.h – NetBIOS
- rpc.h – RPC (远程过程调用)
- shellapi.h – Windows Shell API
- wincrypt.h –加密 API
- winperf.h –性能监控
- winresrc.h –用于资源
- winsock.h – Winsock (Windows 套接字),1.1 版
- winspool.h –打印后台处理程序
- winbgim.h –标准图形库
- ole2.h – OLE (对象链接和嵌入)
- objbase.h – COM (组件对象模型)
- oleauto.h – OLE 自动化
- olectlid.h –各种GUID定义
有几个宏会影响 windows.h 的行为。