Поделиться через


Версия операционной системы

Функции-помощники API версии используются для определения текущей версии операционной системы. Для получения дополнительной информации см. Получение системной версии.

В следующей таблице приведены последние номера версий операционной системы.

Операционная система Номер версии
Windows 11 10.0*
Windows 10 10.0*
Windows Server 2022 10.0*
Windows Server 2019 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
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 64-разрядная версия 5.2
Windows XP 5.1
Windows 2000 5.0

* Для приложений, которые были манифестированы для Windows 8.1 или Windows 10. Приложения, не манифестированные для Windows 8.1 или Windows 10, возвращают значение версии ОС Windows 8 (6.2). Чтобы нацелить свои приложения на Windows 8.1 или Windows 10, см. направление вашего приложения для Windows.

Определение текущей операционной системы обычно не является лучшим способом определить, присутствует ли определенная функция операционной системы. Это связано с тем, что операционная система может иметь новые функции, добавленные в распространяемую библиотеку DLL. Вместо использования вспомогательных функций API версии для определения платформы операционной системы или номера версии проверьте наличие самой функции.

Чтобы определить лучший способ тестирования функции, ознакомьтесь с документацией по интересующей функции. В следующем списке рассматриваются некоторые распространенные методы обнаружения признаков:

  • Вы можете проверить наличие функций, связанных с функцией. Чтобы проверить наличие функции в системной библиотеке DLL, вызовите функцию LoadLibrary для загрузки библиотеки DLL. Затем вызовите функцию GetProcAddress, чтобы определить, присутствует ли интересующая функция в библиотеке DLL. Используйте указатель, возвращаемый GetProcAddress для вызова функции. Обратите внимание, что даже если функция присутствует, она может оказаться заглушкой, которая просто возвращает код ошибки, такой как ERROR_CALL_NOT_IMPLEMENTED.
  • Вы можете определить наличие некоторых функций с помощью функции GetSystemMetrics. Например, можно обнаружить несколько мониторов отображения, вызвав GetSystemMetrics(SM_CMONITORS).
  • Существует несколько версий распространяемых библиотек DLL, реализующих оболочку и общие функции управления. Сведения об определении версий, присутствующих в системе, в которой работает приложение, см. в разделе Shell и Common Controls Versions.

Если требуется определенная операционная система, обязательно используйте ее как минимальную поддерживаемую версию, а не проектируйте тест для одной операционной системы. Таким образом, код обнаружения будет продолжать работать в будущих версиях Windows.

Обратите внимание, что 32-разрядное приложение может определить, работает ли оно в WOW64, вызвав функцию IsWow64Process. Он может получить дополнительные сведения о процессоре, вызвав функцию GetNativeSystemInfo.

Дополнительную информацию см. в разделе информация о выпуске Windows 10 и информационный лист жизненного цикла Windows.