こんにちは。
クルマのフルモデルチェンジ。
車検と重なるとかなりうれしい。
さて、Windows Server 2019使用開始。
2016 やっと慣れたと思ったら、
年寄りにはついていけません。
C++ で 2016 と 2019 どうやって区別するか。
GetVersionEx API の戻り値の解析で悩む。
C++ How to detect Windows Server 2019? - Stack Overflow
これを見ると、dwBuildNumber をチェックするしかないのかな。
// Windows 10
osvi.dwOSVersionInfoSize = 284
osvi.dwMajorVersion = 10
osvi.dwMinorVersion = 0
osvi.dwBuildNumber = 17134
osvi.dwPlatformId = 2
osvi.wSuiteMask = 256 // 0x100
osvi.wProductType = 1
// Windows Server 2016
osvi.dwOSVersionInfoSize = 284
osvi.dwMajorVersion = 10
osvi.dwMinorVersion = 0
osvi.dwBuildNumber = 14393
osvi.dwPlatformId = 2
osvi.wSuiteMask = 400
osvi.wProductType = 3
// Windows Server 2019
osvi.dwOSVersionInfoSize = 284
osvi.dwMajorVersion = 10
osvi.dwMinorVersion = 0
osvi.dwBuildNumber = 17763
osvi.dwPlatformId = 2
osvi.wSuiteMask = 400 // 0x190
osvi.wProductType = 3