如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Windows编程编程获取Windows的版本摘要:介绍通过编程的方法判断Windows是XP、win7还是win8。用到的内容包括函数GetVersionEx,结构体OSVERSIONINFO和OSVERSIONINFOEX。关键字:GetVersionExOSVERSIONINFOOSVERSIONINFOEX版本判断一首先给出示例代码/******************************************函数名:GetSysVersion参数:返回值:stringXP2000Vistawin7win8win8.1false失败old2000以前的版本功能:获取操作系统版本******************************************/stringGetSysVersion(){OSVERSIONINFOOSVersionInfo;memset(&OSVersionInfo,0,sizeof(OSVERSIONINFO));OSVersionInfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);if(!GetVersionEx(&OSVersionInfo)){return"false";}if(VER_PLATFORM_WIN32_NT==OSVersionInfo.dwPlatformId){if(5==OSVersionInfo.dwMajorVersion&&0==OSVersionInfo.dwMinorVersion){return"2000";}if(5==OSVersionInfo.dwMajorVersion&&1==OSVersionInfo.dwMinorVersion){return"XP";}if(6==OSVersionInfo.dwMajorVersion&&0==OSVersionInfo.dwMinorVersion){return"Vista";}if(6==OSVersionInfo.dwMajorVersion&&1==OSVersionInfo.dwMinorVersion){return"win7";}if(6==OSVersionInfo.dwMajorVersion&&2==OSVersionInfo.dwMinorVersion){return"win8";}if(6==OSVersionInfo.dwMajorVersion&&3==OSVersionInfo.dwMinorVersion){return"win8.1";}Windows编程}else{return"old";}return"false";}二对用到的函数和结构体作一下说明OSVERSIONINFOtypedefstruct_OSVERSIONINFO{DWORDdwOSVersionInfoSize;//这个结构体的大小,在使用前必须初始化DWORDdwMajorVersion;//主版本号DWORDdwMinorVersion;//副版本号DWORDdwBuildNumber;//buildnumberDWORDdwPlatformId;//平台的IDVER_PLATFORM_WIN32_NTTCHARszCSDVersion[128];//一些附加的信息如"ServicePack3"}OSVERSIONINFO;关于主版本号和副版本号见第三部分的对照表。OSVERSIONINFOEXtypedefstruct_OSVERSIONINFOEX{DWORDdwOSVersionInfoSize;DWORDdwMajorVersion;DWORDdwMinorVersion;DWORDdwBuildNumber;DWORDdwPlatformId;TCHARszCSDVersion[128];WORDwServicePackMajor;//服务升级包主版本号WORDwServicePackMinor;WORDwSuiteMask;BYTEwProductType;BYTEwReserved;}OSVERSIONINFOEX,*POSVERSIONINFOEX,*LPOSVERSIONINFOEX;是上面结构体体的扩展,增加了部分信息。具体见msdn扩展的信息如是家庭版等。GetVersionExBOOLGetVersionEx(LPOSVERSIONINFOlpVersionInformation//pointertoversioninformations