获取系统版本

/*
    系统信息
    *系统版本
     GetVersionEx
     OSVERSIONINFOEX

     *硬件信息
      GetSystemInfo
      SYSTEM_INO
*/
# include<stdio.h>
# include<windows.h>
#pragma warning(disable:4996)

void ShowVersionInfo();


int main()
{
    ShowVersionInfo();
    system("pause");
    return 0;
}

void ShowVersionInfo()
{
    OSVERSIONINFO ovex;
    TCHAR szVersionInfo[1024] = TEXT("");
    /*
    typedef struct _OSVERSIONINFOW {
    DWORD dwOSVersionInfoSize;//设为sizeof(OVERSIONINFO)
    DWORD dwMajorVersion;//主版本
    DWORD dwMinorVersion;//次版本
    DWORD dwBuildNumber;//构建号
    DWORD dwPlatformId;
    WCHAR  szCSDVersion[ 128 ]; //补丁    // Maintenance string for PSS usage
    } OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
    */
    ovex.dwOSVersionInfoSize = sizeof(ovex);

    //判断系统版本
    if (!GetVersionEx(&ovex))
    {
        printf("error:%d\n", GetLastError());
        return;
    }
    if (ovex.dwMajorVersion == 5)   //主版本号如果是5就是Windows 2000
    {                               //5.1是Windows XP
        if (ovex.dwMinorVersion == 0)   //5.2是Windows Server 2003
            lstrcat(szVersionInfo, TEXT("Windows 2000"));   //主版本为6是Windows Vista
        else if (ovex.dwMinorVersion == 1)
            lstrcat(szVersionInfo, TEXT("Windows XP"));
        else if (ovex.dwMinorVersion == 2)
            lstrcat(szVersionInfo, TEXT("Windows Server 2003"));
    }
    else if (ovex.dwMajorVersion == 6)
        lstrcat(szVersionInfo, TEXT("Windows Vista"));
    else
        lstrcat(szVersionInfo, TEXT("Windows NT 4.0或者其它"));
    wprintf(L"%s\n", szVersionInfo);

    printf("Windows %d.%d Build %d\n", ovex.dwMajorVersion, ovex.dwMinorVersion, ovex.dwBuildNumber);
    wprintf(L"%s\n", ovex.szCSDVersion);
}

结果发现输出结果竟然是这样……令人大跌眼镜
这里写图片描述
明明是w10系统,怎么会是6.2呢,于是google得到了答案,以下是搜索到的

这里写图片描述
原来不是自己代码有问题,害得还怀疑是不是输出有错误,断点调试看了
下得到的版本还是6.2。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值