【VS2026】_WIN32_WINNT 宏版本列表
_WIN32_WINNT 完整版本对照表_WIN32_WINNT用于指定目标 Windows 系统最低版本头文件sdkddkver.h定义编译时定义该宏会启用对应系统API、禁用低版本不兼容接口。一、数值与系统对应从旧到新_WIN32_WINNT 宏值十进制对应操作系统备注_WIN32_WINNT_WIN2K0x0500Windows 2000最低NT5系列_WIN32_WINNT_WINXP0x0501Windows XP / Windows Server 2003XP 通用_WIN32_WINNT_WS030x0502Windows Server 2003 / Windows XP x6464位XP、2003服务器_WIN32_WINNT_VISTA0x0600Windows Vista / Server 2008NT6.0_WIN32_WINNT_WIN70x0601Windows 7 / Server 2008 R2NT6.1_WIN32_WINNT_WIN80x0602Windows 8 / Server 2012NT6.2_WIN32_WINNT_WINBLUE0x0603Windows 8.1 / Server 2012 R2NT6.3_WIN32_WINNT_WIN100x0A00Windows 10 / Windows 11NT10所有Win10/11共用此基础值二、Win10/Win11 细分版本搭配 NTDDI_VERSION 使用_WIN32_WINNT_WIN10 (0x0A00)仅代表NT10大版本区分Win10不同功能更新、Win11 需要NTDDI_VERSION// Win10 各版本 NTDDINTDDI_WIN10_TH20x0A000002// 1511NTDDI_WIN10_RS10x0A000003// 1607NTDDI_WIN10_RS20x0A000004// 1703NTDDI_WIN10_RS30x0A000005// 1709NTDDI_WIN10_RS40x0A000006// 1803NTDDI_WIN10_RS50x0A000007// 1809NTDDI_WIN10_19H10x0A000008// 1903NTDDI_WIN10_VB0x0A000009// 1909NTDDI_WIN10_20H10x0A00000A// 2004/20H2NTDDI_WIN10_21H20x0A00000C// Win10 21H2NTDDI_WIN110x0A00000D// Win11 21H2NTDDI_WIN11_22H20x0A00000E// Win11 22H2NTDDI_WIN11_23H20x0A00000F// Win11 23H2NTDDI_WIN11_24H20x0A000010// Win11 24H2三、使用示例1. 编译目标 Windows 7#define_WIN32_WINNT_WIN32_WINNT_WIN7#includewindows.h等价直接写数值#define_WIN32_WINNT0x06012. 目标 Win10/Win11#define_WIN32_WINNT_WIN32_WINNT_WIN10#defineNTDDI_VERSIONNTDDI_WIN11_22H2#includewindows.h四、配套相关宏说明WINVER和_WIN32_WINNT保持一致控制老版本UI接口建议同步定义#defineWINVER_WIN32_WINNT_WIN32_IE控制IE/Shell API版本独立于系统版本NTDDI_VERSION细分子系统更新版本高精度API如新版DirectX、窗口、进程接口依赖此宏五、常见坑宏必须放在所有Windows头文件最前面定义否则不生效若定义版本高于运行系统调用新版API会运行时崩溃需动态LoadLibrary兼容VS新版SDK默认目标Win10/11老项目默认0x0601(Win7)不存在独立_WIN32_WINNT_WIN11Win11 大版本仍为0x0A00靠NTDDI区分。