Подтвердить что ты не робот

Что такое WINVER?

Я смотрел какой-то код, и у них была эта строка: #define WINVER 0x0501 в stdafx.h файле? Зачем вам нужно определить WINVER? Как это влияет на ваш код? Может кто-нибудь объяснить?

4b9b3361

Ответ 1

WINVER определяет минимальный SDK платформы, необходимый для создания вашего приложения, которое, в свою очередь, будет определять во время компиляции, какие подпрограммы будут найдены заголовками.

Вы можете использовать это, чтобы во время компиляции проверить, что ваше приложение будет работать в Windows 2000 (0x0500), например, или в Windows XP (0x0501).

Страница MSDN на Изменяет WINVER и _WIN32_WINNT подробнее об этом.

Ответ 2

WINVER определяет минимальную систему Windows, в которой может работать программа. Там более подробное объяснение в MSDN. Что означает #define WINVER 0x0501, так это то, что для запуска программы требуется Windows XP или Server 2003, и поэтому она может использовать функциональные возможности Windows до этой версии.

Ответ 3

WINVER означает версию Windows. В двух словах, если вы создаете определенную версию Windows, доступны некоторые API-интерфейсы, которые недоступны в предыдущих версиях.

Ответ 4

Определив макрос WINVER, вы обнаружите набор функций, относящихся к определенной версии Windows. Например, если вы определяете его как #define WINVER 0x0502, вы не сможете использовать TaskDialog, который доступен только в Windows Vista. Более подробно вы можете прочитать статью Использование заголовков Windows в MSDN.