Récupérer, la version de windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 146 fois - Téléchargée 30 fois

Contenu du snippet

Ce petit code permet de récupérer la version de windows par l'intermédiaire le l'API windows

Source / Exemple :


#define OS_ERROR                                                     -1
#define OS_WIN32_WINDOWS_NT_3_51		0
#define OS_WIN32_WINDOWS_NT_4_0 		1
#define OS_WIN32_WINDOWS_95 		2
#define OS_WIN32_WINDOWS_98			3
#define OS_WIN32_WINDOWS_Me		4
#define OS_WIN32_WINDOWS_2000		5
#define OS_WIN32_WINDOWS_XP			6
#define OS_WIN32_WINDOWS_SERVER_2003_FAMILY	7
#define OS_WIN32_WINDOWS_VISTA	8

int GetOSVersion()
{
OSVERSIONINFOEX osvi;
BOOL bOsVersionInfoEx;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if(!(bOsVersionInfoEx=GetVersionEx((OSVERSIONINFO *)&osvi)))
   {
   osvi.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
   if (!GetVersionEx((OSVERSIONINFO *)&osvi) ) 
   return OS_ERROR;
   }
if(osvi.dwMajorVersion==3 && osvi.dwMinorVersion==51)
	return OS_WIN32_WINDOWS_NT_3_51;
if(osvi.dwMajorVersion==4 && osvi.dwMinorVersion==0 && osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
	return OS_WIN32_WINDOWS_NT_4_0;
if(osvi.dwMajorVersion==4 && osvi.dwMinorVersion==0 && 
   osvi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
	return OS_WIN32_WINDOWS_95;
if(osvi.dwMajorVersion==4 && osvi.dwMinorVersion==10 && 
   osvi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
	return OS_WIN32_WINDOWS_98;
if(osvi.dwMajorVersion==4 && osvi.dwMinorVersion==90 && 
   osvi.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
	return OS_WIN32_WINDOWS_Me;
if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==0 && osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
	return OS_WIN32_WINDOWS_2000;
if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==1 && osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
	return OS_WIN32_WINDOWS_XP;
if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==2 && osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
	return OS_WIN32_WINDOWS_SERVER_2003_FAMILY;
if(osvi.dwMajorVersion==6 && osvi.dwMinorVersion==0 && osvi.dwPlatformId==VER_PLATFORM_WIN32_NT)
        return OS_WIN32_WINDOWS_VISTA;
}

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
mardi 21 décembre 2010
Statut
Membre
Dernière intervention
1 juillet 2012

merci bien
Messages postés
86
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
5 décembre 2010

Bonjour, pour répondre à votre question, il est indiqué dans la MSDN que pour Windows 7 :
osvi.dwMajorVersion 6 && osvi.dwMinorVersion 1

La seule différence est pour la valeur de dwMinorVersion qui est remplacé par 1. Ceci s'explique puisque Windows Seven est la version 6.1 du système Windows.
En espérant avoir répondu à votre question.
Messages postés
5
Date d'inscription
lundi 3 février 2003
Statut
Membre
Dernière intervention
15 avril 2010

Par contre il faudrait updater avec Windows Seven ^^
Messages postés
28
Date d'inscription
mardi 21 septembre 2004
Statut
Membre
Dernière intervention
16 mars 2007

merci pour le code

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.