Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Trucos (https://www.clubdelphi.com/foros/forumdisplay.php?f=52)
-   -   Detectar el S.O en el cual se está ejecutando nuestra aplicación (https://www.clubdelphi.com/foros/showthread.php?t=80868)

Black_Ocean 03-06-2008 04:03:13

Detectar el S.O en el cual se está ejecutando nuestra aplicación
 
Bueno... Esta unidad (unit) la hice para aportar como primer truco a ClubDelphi. Permite de forma simple detectar el S.O en el cual se ejecuta nuestra aplicación. Actualizado para Windows Vista. Cualquier aporte extra, comentarios y mejoras para el código es bienvenido :D

Código Delphi [-]
unit WindowsVersion;

interface

type
  TWindowsVersion = (wvUnknown, wv95, wv98, wvME, wvNT, wv2000, wvXP, wv2003, wvVista);

function GetWindowsVersion: TWindowsVersion;

implementation

uses
  Windows;

function GetWindowsVersion: TWindowsVersion;
var
  OsVerInfo: TOSVERSIONINFO;
begin
  Result := wvUnknown;
  ZeroMemory(@OsVerInfo, SizeOf(OsVerInfo));
  OsVerInfo.dwOSVersionInfoSize := SizeOf(TOSVERSIONINFO);
  GetVersionEx(OsVerInfo);
  if OsVerInfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
  begin
    if (OsVerInfo.dwMajorVersion = 4) and (OsVerInfo.dwMinorVersion = 0) then
      Result := wv95
    else if (OsVerInfo.dwMajorVersion = 4) and (OsVerInfo.dwMinorVersion = 10) then
      Result := wv98
    else if (OsVerInfo.dwmajorVersion = 4) and (OsVerInfo.dwminorVersion = 90) then
      Result := wvME
  end
  else if OsVerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
  begin
    if (OsVerInfo.dwMajorVersion <= 4) then
      Result := wvNT
    else if (OsVerInfo.dwMajorVersion = 5) and (OsVerInfo.dwMinorVersion = 0) then
      Result := wv2000
    else if (OsVerInfo.dwMajorVersion = 5) and (OsVerInfo.dwMinorVersion = 1) then
      Result := wvXP
    else if (OsVerInfo.dwMajorVersion = 5) and (OsVerInfo.dwMinorVersion = 2) then
      Result := wv2003
    else if (OsVerInfo.dwMajorVersion = 6) then
      Result := wvVista;
  end;
end;

end.

Saludos y buen provecho :P

Chris 28-06-2008 08:20:43

Bueno... esto no es precisamente "Detectar el S.O en el cual se está ejecutando nuestra aplicación" sino más bien "En que versión de Windows se está ejecutando"


La franja horaria es GMT +2. Ahora son las 15:01:42.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi