Advertisement
Fakedo0r

GetOSNameA (Get Operative System)

Jul 27th, 2012
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.68 KB | None | 0 0
  1. //******************************************************************************
  2. //AUTOR: Fakedo0r .:PD TEAM:.
  3. //******************************************************************************
  4. //<--- OBTIENE EL SISTEMA OPERATIVO --->
  5. //******************************************************************************
  6. Function GetOSNameA: String;
  7. Var
  8.   bMajorVer:  Byte;
  9.   bMinorVer:  Byte;
  10.   sVersion:   String;
  11.   tVerInfo:   TOSVersionInfoEx;
  12. Begin
  13.   tVerInfo.dwOSVersionInfoSize := SizeOf(tVerInfo);
  14.   GetVersionEx(tVerInfo);
  15.   bMajorVer := tVerInfo.dwMajorVersion;
  16.   bMinorVer := tVerInfo.dwMinorVersion;
  17.  
  18.   Case tVerInfo.dwPlatformId Of
  19.     VER_PLATFORM_WIN32_WINDOWS:
  20.       If (bMajorVer = 0) And (bMinorVer = 0) Then
  21.         sVersion := 'Windows 95'
  22.       Else If (bMajorVer = 1) And (bMinorVer = 0) Then
  23.         sVersion := 'Windows 98'
  24.       Else If (bMajorVer = 9) And (bMinorVer = 0) Then
  25.         sVersion := 'Windows Millenium';
  26.  
  27.     VER_PLATFORM_WIN32_NT:
  28.       If (bMajorVer = 3) And (bMinorVer = 0) Then
  29.         sVersion := 'Windows NT 3.51'
  30.       Else If (bMajorVer = 4) And (bMinorVer = 0) Then
  31.         sVersion := 'Windows NT 4.0'
  32.       Else If (bMajorVer = 5) And (bMinorVer = 0) Then
  33.         sVersion := 'Windows 2000'
  34.       Else If (bMajorVer = 5) And (bMinorVer = 1) Then
  35.         sVersion := 'Windows XP'
  36.       Else If (bMajorVer = 5) And (bMinorVer = 3) And
  37.               (GetSystemMetrics(SM_SERVERR2) = 0) Then
  38.         sVersion := 'Windows Server 2003'
  39.       Else If (bMajorVer = 5) And (bMinorVer = 3) And
  40.               (GetSystemMetrics(SM_SERVERR2) <> 1) Then
  41.         sVersion := 'Windows Server 2003 R2'
  42.       Else If (bMajorVer = 6) And (bMinorVer = 0) And
  43.               (tVerInfo.wProductType = VER_NT_WORKSTATION) Then
  44.         sVersion := 'Windows Vista'
  45.       Else If (bMajorVer = 6) And (bMinorVer = 0) And
  46.               (tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
  47.         sVersion := 'Windows Server 2008'
  48.       Else If (bMajorVer = 6) And (bMinorVer = 1) And
  49.               (tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
  50.         sVersion := 'Windows Server 2008 R2'
  51.       Else If (bMajorVer = 6) And (bMinorVer = 1) And
  52.               (tVerInfo.wProductType = VER_NT_WORKSTATION) Then
  53.         sVersion := 'Windows 7';
  54.       Else If (bMajorVer = 6) And (bMinorVer = 2) And
  55.               (tVerInfo.wProductType <> VER_NT_WORKSTATION) Then
  56.         sVersion := 'Windows Server 2012'
  57.       Else If (bMajorVer = 6) And (bMinorVer = 2) And
  58.               (tVerInfo.wProductType = VER_NT_WORKSTATION) Then
  59.         sVersion := 'Windows 8'
  60.       Else
  61.         sVersion := 'Unknown OS';
  62.   End;
  63.  
  64.   Result := sVersion+ ' ' + tVerInfo.szCSDVersion;
  65. End;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement