Domanda

Stavo guardando un codice e avevano questa riga: #define WINVER 0x0501 nel file stdafx.h ? Perché è necessario definire WINVER ? In che modo influenza il tuo codice? Qualcuno può spiegare?

È stato utile?

Soluzione

WINVER determina l'SDK minimo della piattaforma richiesto per compilare l'applicazione, che a sua volta determinerà in fase di compilazione quali routine vengono rilevate dalle intestazioni.

Puoi utilizzarlo per verificare, al momento della compilazione, che l'applicazione funzioni su Windows 2000 (0x0500), ad esempio, o su Windows XP (0x0501).

Pagina di MSDN su Modifica di WINVER e _WIN32_WINNT approfondisce questo aspetto in modo più dettagliato.

Altri suggerimenti

WINVER definisce il sistema Windows minimo su cui può essere eseguito il programma. C'è una spiegazione più dettagliata su MSDN . Ciò che #define WINVER 0x0501 è che il programma richiede l'esecuzione di Windows XP o Server 2003 e che pertanto può utilizzare la funzionalità di Windows fino a quella versione.

WINVER significa versione di Windows. In breve, se stai realizzando una versione particolare di Windows, sono disponibili alcune API che non sono disponibili nelle versioni precedenti.

Definendo la macro WINVER scopri una serie di funzioni specifiche per una determinata versione di Windows. Ad esempio, se lo definisci come #define WINVER 0x0502 non potrai utilizzare TaskDialog che è disponibile solo in Windows Vista. Per maggiori dettagli puoi leggere Uso delle intestazioni di Windows articolo in MSDN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top