Funzione GetVersionExA (sysinfoapi.h)
GetVersionExA potrebbe essere modificato o non disponibile per le versioni successive a Windows 8.1. Usare invece le funzioni helper della versione . Per le app di Windows 10, vedi Targeting your applications for Windows.
Con il rilascio di Windows 8.1, il comportamento dell'API getVersionEx
Le applicazioni non manifestate per Windows 8.1 o Windows 10 restituiranno il valore della versione del sistema operativo Windows 8 (6.2). Quando un'applicazione viene manifestata per una determinata versione del sistema operativo, GetVersionEx restituirà sempre la versione per cui l'applicazione viene manifestata nelle versioni future. Per manifestare le applicazioni per Windows 8.1 o Windows 10, fare riferimento a Destinazione dell'applicazione per Windows.
Sintassi
NOT_BUILD_WINDOWS_DEPRECATE BOOL GetVersionExA(
[in, out] LPOSVERSIONINFOA lpVersionInformation
);
Parametri
[in, out] lpVersionInformation
Struttura OSVERSIONINFOA o OSVERSIONINFOEXA che riceve le informazioni sul sistema operativo.
Prima di chiamare la funzione GetVersionEx
Valore restituito
Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError. La funzione ha esito negativo se si specifica un valore non valido per il membro dwOSVersionInfoSizedella struttura OSVERSIONINFOA o OSVERSIONINFOEXA.
Osservazioni
L'identificazione del sistema operativo corrente non è in genere il modo migliore per determinare se è presente una particolare funzionalità del sistema operativo. Ciò è dovuto al fatto che il sistema operativo potrebbe avere aggiunto nuove funzionalità in una DLL ridistribuibile. Invece di usare GetVersionEx per determinare la piattaforma o il numero di versione del sistema operativo, verificare la presenza della funzionalità stessa. Per altre informazioni, vedere versione del sistema operativo.
La funzione GetSystemMetrics
Prodotto | Impostazione |
---|---|
Windows XP Media Center Edition | SM_MEDIACENTER |
Windows XP Starter Edition | SM_STARTER |
Windows XP Tablet PC Edition | SM_TABLETPC |
Windows Server 2003 R2 | SM_SERVERR2 |
Per verificare la presenza di sistemi operativi specifici o funzionalità del sistema operativo, usare la funzione IsOS
Per recuperare informazioni per il sistema operativo in un computer remoto, utilizzare la funzione netWkstaGetInfo
Per confrontare la versione corrente del sistema con una versione richiesta, usare la funzione VerifyVersionInfo
Se la modalità di compatibilità è attiva, la funzione GetVersionEx
Esempi
Quando si usa la funzione GetVersionEx
#include <windows.h>
#include <stdio.h>
void main()
{
OSVERSIONINFO osvi;
BOOL bIsWindowsXPorLater;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
bIsWindowsXPorLater =
( (osvi.dwMajorVersion > 5) ||
( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) ));
if(bIsWindowsXPorLater)
printf("The system meets the requirements.\n");
else printf("The system does not meet the requirements.\n");
}
Per un esempio che identifica il sistema operativo corrente, vedere Getting the System Version.
Nota
L'intestazione sysinfoapi.h definisce GetVersionEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
piattaforma di destinazione | Finestre |
intestazione |
sysinfoapi.h (include Windows.h) |
libreria |
Kernel32.lib |
dll | Kernel32.dll |
Vedere anche
versione del sistema operativo