#include <windows.h>
int main()
{
auto dwVersion = GetVersion();
// Версия, например 8
auto dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
// Вторая цифра версии, например 1
auto dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
}
Справедливости ради, для Windows 8.1 этот код должен выдать 6.3 -- версию ядра. Как получить коммерческое наименование Windows, и можно ли это вообще, навскидку не вспомню.