Для получения дополнительной информации о версии, используйте структуру OSVERSIONINFOEX.
typedef struct _OSVERSIONINFO { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; TCHAR szCSDVersion[128]; } OSVERSIONINFO;
Члены структуры:
dwOSVersionInfoSize | Размер этой структуры, в байтах. Установите этот член в sizeof(OSVERSIONINFO). | ||||||||||||
dwMajorVersion | Старший номер версии операционной системы. Этот член может принимать одно из следующих значений:
| ||||||||||||
dwMinorVersion | Младший номер версии операционной системы. Этот член может принимать одно из следующих значений:
| ||||||||||||
dwBuildNumber | Номер построения операционной системы. Windows Me/98/95: Младшее слово содержит номер построения операционной системы. Старшее слово содержит младший и старший номер версии. | ||||||||||||
dwPlatformId | Платформа операционной системы. Этот член может принимать одно из следующих значений: VER_PLATFORM_WIN32_NT 2 - Операционная система Windows Vista, Windows Server "Longhorn", Windows Server 2003, Windows XP, Windows 2000, или Windows NT. VER_PLATFORM_WIN32_WINDOWS 1 - Операционная система Windows Me, Windows 98, или Windows 95. | ||||||||||||
szCSDVersion | Адрес нульзаканчивающейся строки, такой как "Service Pack 3", которая указывает на последний установленный Service Pack (сервисный пакет). Если Service Pack не установлен, то строка пустая. Windows Me/98/95: Адрес нульзаканчивающейся строки, которая указывает дополнительную информацию о версии. На пример, " C" указывает на Windows 95 OSR2, а " A" или " B" указывает на Windows 98 Second Edition. |
Замечания:
Следующая таблица показует номера наиболее употребительных версий операционных систем:Операционная система: | Номер версии: |
Windows Server "Longhorn" | 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 |
Windows Me | 4.90 |
Windows 98 | 4.10 |
Windows NT 4.0 | 4.0 |
Windows 95 | 4.0 |