Savoir quel OS est installer sur une machine
Bonjour à vous,
je voudrais savoir comment on fais pour savoir quel OS est sur un poste, j'ai le code suivant qui fonctionne bien mais qui ne détecte pas win xp, comment le détecté ?? et le win 2000 et pris pour le nt.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| void __fastcall TForm1::Button1Click(TObject *Sender)
{
OSVERSIONINFO info;
ZeroMemory(&info, sizeof(OSVERSIONINFO));
info.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);
bool success=GetVersionEx(&info);
if (!success){
Edit1->Text=("Information Windows","Alerte","Impossible de trouver les informations demandées");
}
//Version de windows
Edit2->Text=("Information Windows","Version",String((int)info.dwMajorVersion)+"."+String((int)info.dwMinorVersion));
//Numéro de construction
DWORD buildNumber=info.dwBuildNumber;
if(info.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS)
buildNumber=LOWORD(buildNumber);
Edit3->Text=("Information Windows","Numéro de construction", String((int)buildNumber));
//Plateforme utilisée
String platform="Unknown";
if(info.dwPlatformId==VER_PLATFORM_WIN32s)
platform="Win32s";
else if(info.dwPlatformId==VER_PLATFORM_WIN32_WINDOWS){
if((info.dwMajorVersion>4)||((info.dwMajorVersion==4)&&(info.dwMinorVersion>0)))
platform="Windows 98";
else
platform="Windows 95";
}
else if(info.dwPlatformId==VER_PLATFORM_WIN32_NT)
platform="Windows NT";
Edit4->Text=("Information Windows","Plateforme",platform);
//Service pack principalement pour Windows NT
String csdVersion=info.szCSDVersion;
if(csdVersion.IsEmpty()&& info.dwPlatformId==VER_PLATFORM_WIN32_NT)
csdVersion="Aucun service pack installé";
Edit5->Text=("Information Windows","Version du service pack", csdVersion);
} |
Merci de vos réponses par avance.