Operating System Version

methods

1. GetVersion

 

DWORD WINAPI GetVersion(void);


The following illustration shows the format of the bits in system version.
+-------------+----------+-------------------------+
|   Reserved  | Build Id |  Minor    |   Major     |
+-------------+----------+-------------------------+
31         30 29      16 15        8 7             0   bit

 

example:

    DWORD dwVersion = 0;

    DWORD dwMajorVersion = 0;

    DWORD dwMinorVersion = 0;

    DWORD dwBuild = 0;



    dwVersion = GetVersion();

 

    // Get the Windows version.



    dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));

    dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));



    // Get the build number.



    if (dwVersion < 0x80000000)              

        dwBuild = (DWORD)(HIWORD(dwVersion));

    



    printf("Version is %d.%d (%d)\n", 

                dwMajorVersion,

                dwMinorVersion,

                dwBuild);

 

 
  

 

2. GetVersionEx function

 

BOOL WINAPI GetVersionEx(

  __inout  LPOSVERSIONINFO lpVersionInfo

);

 

example:

	OSVERSIONINFO _osv;

	ZeroMemory(&_osv, sizeof(OSVERSIONINFO));

	_osv.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

	::GetVersionEx(&_osv);

	cout<<"Major:"<<_osv.dwMajorVersion<<endl;

	cout<<"Minor:"<<_osv.dwMinorVersion<<endl;

	cout<<"Build:"<<_osv.dwBuildNumber<<endl;

	cout<<"Platform:"<<_osv.dwPlatformId<<endl;

	cout<<"Others:"<<_osv.szCSDVersion<<endl;



 



Reference

 

The following table summarizes the most recent operating system version numbers.

Operating system Version number
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 5.1
Windows 2000 5.0



你可能感兴趣的:(version)