GetVersionEx 的应用

  因为前一段时间的项目中,需要检查当前系统的版本,使用了这个函数取得当前的系统的信息。
 
    OSVERSIONINFO           osvi;
  
     // Initialize the OSVERSIONINFO structure.
  
    ZeroMemory( &osvi, sizeof( osvi ) );
    osvi.dwOSVersionInfoSize = sizeof( osvi );
 
       首先,定义OSVERSIONINFO,然后初始化,就是先把整个数据结构清零,然后填充整个结构体的大小。如果没有这个过程,调用GetVersionEx这个函数必然返回 FALSE。
       然后调用这个函数:
    CString strOSVersion;
     if (GetVersionEx( &osvi ))
    {
   if   (GetVersionEx(&osvi))    
  {    
       switch   (osvi.dwPlatformId)    
      {    
       case   VER_PLATFORM_WIN32_NT:    
     if   (osvi.dwMajorVersion   ==   5   &&   osvi.dwMinorVersion   ==   0)    
        strOSVersion   =   _T( "Windows 2000");    
     else   if   (osvi.dwMajorVersion   ==   5   &&   osvi.dwMinorVersion   ==   1)    
        strOSVersion   =   _T( "Windows XP");    
     else   if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   0)    
        strOSVersion   =   _T( "Windows NT");    
     break;    
    
       case   VER_PLATFORM_WIN32_WINDOWS:    
     if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   10)    
        strOSVersion   =   _T( "Windows 98");    
     else   if   (osvi.dwMajorVersion   ==   4   &&   osvi.dwMinorVersion   ==   90)    
        strOSVersion   =   _T( "Windows ME");    
     else    
        strOSVersion   =   _T( "Windows 95");    
     break;    
       default:    
     break;         //   should   not   come   here    
      }    
  }    
  CString strBuildID;
  strBuildID.Format( "Build ID:%d",osvi.dwBuildNumber);
  m_List.InsertItem (0, strOSVersion);
  m_List.InsertItem(1,osvi.szCSDVersion);
  m_List.InsertItem(2,strBuildID);
 
      这个就取得了当前操作系统的版本信息。
     本文的界面使用了BCGControlBar界面库,若想编译成功,请安装界面库。

你可能感兴趣的:(职场,休闲,GetVersionEx,的应用)