博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++获得当前windows系统的版本号的代码
阅读量:5787 次
发布时间:2019-06-18

本文共 1819 字,大约阅读时间需要 6 分钟。

在开发过程中中,把开发过程中比较好的内容片段备份一次,下边内容段是关于C++获得当前windows系统的版本号的内容,应该能对码农们也有好处。

#include "InitWindowsVersion.h"      无 WIN_VER_DETAIL GetWindowsVersion(){    UNICODE_STRING ustrFuncName = { 0 };     RTL_OSVERSIONINFOEXW osverinfo = { sizeof(osverinfo) };     PFN_RtlGetVersion pfnRtlGetVersion = NULL;    if (WinVersion)        return WinVersion;    RtlInitUnicodeString(&ustrFuncName, L"RtlGetVersion");     if (pfnRtlGetVersion)    {         pfnRtlGetVersion((PRTL_OSVERSIONINFOW)&osverinfo);     }     else     {        PsGetVersion(&osverinfo.dwMajorVersion, &osverinfo.dwMinorVersion, &osverinfo.dwBuildNumber, NULL);    }    if (osverinfo.dwMajorVersion == 5 && osverinfo.dwMinorVersion == 0)     {        WinVersion = WINDOWS_VERSION_2K;    }     else if (osverinfo.dwMajorVersion == 5 && osverinfo.dwMinorVersion == 1)     {        WinVersion = WINDOWS_VERSION_XP;    }     else if (osverinfo.dwMajorVersion == 5 && osverinfo.dwMinorVersion == 2)     {        if (osverinfo.wServicePackMajor==0)         {             WinVersion = WINDOWS_VERSION_2K3;        }         else         {            WinVersion = WINDOWS_VERSION_2K3_SP1_SP2;        }    }     else if (osverinfo.dwMajorVersion == 6 && osverinfo.dwMinorVersion == 0)     {        WinVersion = WINDOWS_VERSION_2K3_SP1_SP2;    }    else if (osverinfo.dwMajorVersion == 6 && osverinfo.dwMinorVersion == 1)    {        WinVersion = WINDOWS_VERSION_7;    }    return WinVersion;}InitWindowsVersion.h#ifndef _SYSTEM_H#define _SYSTEM_H#include "ntifs.h"typedef enum WIN_VER_DETAIL {    WINDOWS_VERSION_2K,    WINDOWS_VERSION_XP,    WINDOWS_VERSION_2K3,    WINDOWS_VERSION_2K3_SP1_SP2,    WINDOWS_VERSION_VISTA_2008,    WINDOWS_VERSION_7} WIN_VER_DETAIL;WIN_VER_DETAIL WinVersion; WIN_VER_DETAIL GetWindowsVersion();#endif

转载于:https://blog.51cto.com/14101311/2343732

你可能感兴趣的文章
VC中实现文字竖排的简单方法
查看>>
会话标识未更新
查看>>
阿里架构师:程序员必须掌握的几项核心技术能力
查看>>
程序员常用的六大技术博客类
查看>>
Iceworks 2.8.0 发布,自定义你的 React 模板
查看>>
胖哥学SpringMVC:请求方式转换过滤器配置
查看>>
Kotlin 更加优雅的 Builder - 理解 with
查看>>
前端日拱一卒D6——字符编码与浏览器解析
查看>>
深入理解浏览器的缓存机制
查看>>
微软向Linux社区开放60000多项专利:对开源微软是认真的
查看>>
Hoshin Kanri在丰田的应用
查看>>
又拍云沈志华:如何打造一款安全的App
查看>>
克服大数据集群的挑战
查看>>
PostgreSQL并发控制(MVCC, 事务,事务隔离级别)
查看>>
DM***的第二阶段OSPF
查看>>
20180702搭建青岛RAC记录
查看>>
Spring Security OAuth 实现OAuth 2.0 授权
查看>>
linux文件及简单命令学习
查看>>
dubbo源码分析-架构
查看>>
新 Terraform 提供商: Oracle OCI, Brightbox, RightScale
查看>>