Getting Windows OS version programmatically

asked10 years ago
last updated10 years ago
viewed17.5k times
Up Vote11Down Vote

I am trying to fetch Windows version with C# on my Windows 10 machine.

I always get those values (with C#\C++):

Major: 6 Minor: 2

Which is Windows 8 OS, accordingly to MSDN

var major = OperatingSystem.Version.Major
var minor  = OperatingSystem.Version.Minor
void print_os_info()
{
    //http://stackoverflow.com/questions/1963992/check-windows-version
    OSVERSIONINFOW info;
    ZeroMemory(&info, sizeof(OSVERSIONINFOW));
    info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW);

    LPOSVERSIONINFOW lp_info = &info;
    GetVersionEx(lp_info);

    printf("Windows version: %u.%u\n", info.dwMajorVersion, info.dwMinorVersion);
}

Windows 10 suppose to be with those:

Major: 10Minor: 0*

-

built by: 10.0.10586.0 (th2_release.151029-1700)

What am I missing here?