OSVERSIONINFO的用法及實例


OSVERSIONINFO

 

快速信息

Windows NT   支持

Windows 95    支持

Win32s           支持

引入程序庫    -

頭文件           winbase.h

Unicode         WinNT

平台說明       無

 

概述-系統信息

微軟的Win32應用程序編程接口(API)包含了描述當前操作系統配置的函數。

 

所屬分組

系統信息結構體

以下結構體均用於檢索或設置系統信息。

ANIMATIONINFO

HW_PROFILE_INFO

MINIMIZEDMETRICS

NONCLIENTMETRICS

OSVERSIONINFO

SYSTEM_INFO

 

使用說明

在OSVERSIONINFO數據結構中包含操作系統版本信息。這些信息包括主要和次要版本號,一個內部版本號,一個平台標識符,以及操作系統的說明性文本。GetVersionEx函數將使用這個結構體。

 

結構體原型:

 

typedef struct _OSVERSIONINFO{

    DWORD dwOSVersionInfoSize;

    DWORD dwMajorVersion;

    DWORD dwMinorVersion;

    DWORD dwBuildNumber;

    DWORD dwPlatformId;

    TCHAR szCSDVersion[ 128 ];

} OSVERSIONINFO;

 

成員說明:

 

dwOSVersionInfoSize

       以字節為單位,指定這個數據結構的大小。須在調用GetVersionEx(OSVERSIONINFO)函數之前,將這個成員設置為sizeof(OSVERSIONINFO)。

 

dwMajorVersion

       標識操作系統的主版本號。例如,對於Windows NT 3.51版,其主版本號為3;對於Windows NT 4.0版,其主版本號為4。

 

dwMinorVersion

       標識操作系統的次要版本號。例如,對於Windows NT 3.51版,其次要版本號為51;對於Windows NT 4.0版本,其次要版本號為0。

 

dwBuildNumber

       Windows NT:標識操作系統的內部版本號。

Windows 95:低位字標識操作系統數的內部版本號。高位字包含了主要和次要版本號。

 

dwPlatformId

       標識操作系統平台。這個成員可以是下列值之一:

值:                                                        平台:

VER_PLATFORM_WIN32s                         Win32s on Windows 3.1.

VER_PLATFORM_WIN32_WINDOWS        Win32 on Windows 95.

VER_PLATFORM_WIN32_NT                     Win32 on Windows NT.

 

szCSDVersion

       Windows NT:包含一個以NULL結尾的字符串,如“Service Pack 3”,就表明系統上安裝了最新的Service Pack。如果沒有安裝Service Pack,該字符串為空。

     Windows 95:包含一個以NULL結尾的字符串,提供了對操作系統的任意補充信息。

 

參閱:

 

       GetVersionEx

 

int game::getsys()
{ OSVERSIONINFO stOSVI ;//一個獲取操作系統版本信息的數據結構
 ZeroMemory(&stOSVI , sizeof ( OSVERSIONINFO )) ;
    stOSVI.dwOSVersionInfoSize = sizeof ( OSVERSIONINFO ) ;
    GetVersionEx ( &stOSVI);
 int a=0;
 if (stOSVI.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS &&
  (stOSVI.dwMajorVersion>4||(stOSVI.dwMajorVersion==4
   && stOSVI.dwMinorVersion>0)))
 a=1;
 if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion>=5)
 a=2;
 if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId&&stOSVI.dwMajorVersion==4)
 a=3;
 if (VER_PLATFORM_WIN32_NT==stOSVI.dwPlatformId)
 a=4;
 return a;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM