c++获得当前windows系统的版本号的代码

  

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

  
 <代码> # include“InitWindowsVersion.h”
  
  无
  WIN_VER_DETAIL GetWindowsVersion ()
  {
  UNICODE_STRING ustrFuncName={0};
  RTL_OSVERSIONINFOEXW osverinfo={sizeof (osverinfo)};
  PFN_RtlGetVersion pfnRtlGetVersion=零;
  
  如果(WinVersion)
  返回WinVersion;
  
  RtlInitUnicodeString(及ustrFuncName左“RtlGetVersion”);
  
  如果(pfnRtlGetVersion)
  {
  pfnRtlGetVersion ((PRTL_OSVERSIONINFOW), osverinfo);
  }
  其他的
  {
  
  PsGetVersion(及osverinfo。dwMajorVersion及osverinfo。dwMinorVersion及osverinfo。dwBuildNumber, NULL);
  }
  
  如果(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)
  {
  如果(osverinfo.wServicePackMajor==0)
  {
  WinVersion=WINDOWS_VERSION_2K3;
  }
  其他的
  {
  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;
  }
  
  返回WinVersion;
  }
  
  InitWindowsVersion.h
  
  的ifndef _SYSTEM_H
  #定义_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
   

c++获得当前windows系统的版本号的代码