Pregunta

Estaba mirando algún código y tenían esta línea: #define WINVER 0x0501 en el archivo stdafx.h ? ¿Por qué necesita definir WINVER ? ¿Cómo afecta tu código? ¿Alguien puede explicarme?

¿Fue útil?

Solución

WINVER determina el SDK de plataforma mínimo requerido para compilar su aplicación, que a su vez determinará en el momento de la compilación qué rutinas encuentran los encabezados.

Puede usar esto para verificar, en tiempo de compilación, que su aplicación funcionará en Windows 2000 (0x0500), por ejemplo, o en Windows XP (0x0501).

Página de MSDN en Modificando WINVER y _WIN32_WINNT entra en esto con más detalle.

Otros consejos

WINVER define el sistema mínimo de Windows en el que se puede ejecutar el programa. Hay una explicación más detallada en MSDN . Lo que #define WINVER 0x0501 significa es que el programa requiere Windows XP o Server 2003 para ejecutarse, y que, por lo tanto, puede usar la funcionalidad de Windows hasta esa versión.

WINVER significa la versión de Windows. En pocas palabras, si está compilando para una versión particular de Windows, hay algunas API disponibles que no están disponibles en versiones anteriores.

Al definir la macro WINVER , muestra un conjunto de funciones específicas para una determinada versión de Windows. Por ejemplo, si lo define como #define WINVER 0x0502 no podrá utilizar TaskDialog que solo está disponible en Windows Vista. Para obtener más detalles, puede leer el Uso de los encabezados de Windows artículo en MSDN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top