//******************************************************************************
//AUTOR: Fakedo0r .:PD TEAM:.
//******************************************************************************
//<--- OBTIENE EL SISTEMA OPERATIVO --->
//******************************************************************************
Function GetOSNameA: String;
Var
bMajorVer: Byte;
bMinorVer: Byte;
sVersion: String;
tVerInfo: TOSVersionInfoEx;
Begin
tVerInfo.dwOSVersionInfoSize := SizeOf(tVerInfo);
GetVersionEx(tVerInfo);
bMajorVer := tVerInfo.dwMajorVersion;
bMinorVer := tVerInfo.dwMinorVersion;
Case tVerInfo.dwPlatformId Of
VER_PLATFORM_WIN32_WINDOWS:
If (bMajorVer = 0) And (bMinorVer = 0) Then
sVersion := \'Windows 95\'
Else If (bMajorVer = 1) And (bMinorVer = 0) Then
sVersion := \'Windows 98\'
Else If (bMajorVer = 9) And (bMinorVer = 0) Then
sVersion := \'Windows Millenium\';
VER_PLATFORM_WIN32_NT:
If (bMajorVer = 3) And (bMinorVer = 0) Then
sVersion := \'Windows NT 3.51\'
Else If (bMajorVer = 4) And (bMinorVer = 0) Then
sVersion := \'Windows NT 4.0\'
Else If (bMajorVer = 5) And (bMinorVer = 0) Then
sVersion := \'Windows 2000\'
Else If (bMajorVer = 5) And (bMinorVer = 1) Then
sVersion := \'Windows XP\'
Else If (bMajorVer = 5) And (bMinorVer = 3) And
(GetSystemMetrics(SM_SERVERR2) = 0) Then
sVersion := \'Windows Server 2003\'
Else If (bMajorVer = 5) And (bMinorVer = 3) And
(GetSystemMetrics(SM_SERVERR2) <> 1) Then
sVersion := \'Windows Server 2003 R2\'
Else If (bMajorVer = 6) And (bMinorVer = 0) And
(tVerInfo.wProductType = VER_NT_WORKSTATION) Then
sVersion := \'Windows Vista\'
Else If (bMajorVer = 6) And (bMinorVer = 0) And
(tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
sVersion := \'Windows Server 2008\'
Else If (bMajorVer = 6) And (bMinorVer = 1) And
(tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
sVersion := \'Windows Server 2008 R2\'
Else If (bMajorVer = 6) And (bMinorVer = 1) And
(tVerInfo.wProductType = VER_NT_WORKSTATION) Then
sVersion := \'Windows 7\';
Else If (bMajorVer = 6) And (bMinorVer = 2) And
(tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
sVersion := \'Windows Server 2012\'
Else If (bMajorVer = 6) And (bMinorVer = 2) And
(tVerInfo.wProductType = VER_NT_WORKSTATION) Then
sVersion := \'Windows 8\'
Else
sVersion := \'Unknown OS\';
End;
Result := sVersion+ \' \' + tVerInfo.szCSDVersion;
End;