Averiguar la versión de Windows usando Environment.OSVersion

 
Publicado el 24/May/2007
Actualizado el 24/May/2007
Autor: Guillermo 'guille' Som

Averiguar la versión del sistema operativo usando Environment.OSVersion.

 

 

Introducción:

Si para averiguar la versión del sistema operativo, en lugar de usar las funciones del API, quieres usar las clases de .NET, puedes usar la propiedad OSVersion de la clase Environment para averiguar la versión del Sistema Operativo en el que se ejecuta tu aplicación.

Esa propiedad devuelve un objeto del tipo OperatingSystem con el que puedes obtener información del sistema en el que se está ejecutando la aplicación.

Ese objeto tiene a su vez propiedades, como la propiedad Version en la que tienes los valores habituales de mayor, menor, etc.

También tiene una propiedad (VersionString) en la que te da detalles del sistema, aunque usa "NT" como valor genérico, por ejemplo, en mi Windows Vista me devuelve esta cadena:

Microsoft Windows NT 6.0.6000.0 

Y en un Windows XP con Service Pack 2, devuelve esto otro:

Microsoft Windows NT 5.1.2600.0 

Por tanto, solo debes fiarte en los valores de la versión, salvo que quieras considerar que un Windows Vista o un Windows XP es un Windows NT (aunque en el fondo la tecnología sea la de NT).

Para "afinar" en el sistema real, puedes "jugar" con los valores de la versión, tal como te indico en las dos tablas del artículo de saber la versión usando el API.

 

Aquí tienes un pequeño código con el que puedes mostrar los datos de la versión usando la propiedad OSVersion y el objeto OperatingSystem que devuelve.

Para Visual Basic:


Dim os As OperatingSystem = Environment.OSVersion

Console.WriteLine("VersionString: {0}", os.VersionString)
Console.WriteLine("Platform: {0}", os.Platform)
Console.WriteLine("Versión: {0}", os.Version)
Console.WriteLine("ServicePack: {0}", os.ServicePack)

Console.WriteLine()
With os.Version
    Console.WriteLine("Versión: v{0}.{1}.{2}.{3}.{4}", _
                .Major, .Minor, _
                .Revision, .MinorRevision, _
                .Build)
End With

 

Para C#:

OperatingSystem os = Environment.OSVersion;

Console.WriteLine("VersionString: {0}", os.VersionString);
Console.WriteLine("Platform: {0}", os.Platform);
Console.WriteLine("Versión: {0}", os.Version);
Console.WriteLine("ServicePack: {0}", os.ServicePack);

Console.WriteLine();
Console.WriteLine("Versión: v{0}.{1}.{2}.{3}.{4}", 
        os.Version.Major, os.Version.Minor, 
        os.Version.Revision, os.Version.MinorRevision, 
        os.Version.Build);

 

 

Y esto es todo, espero que te sea de utilidad.

Nos vemos.
Guillermo

P.S.
Aquí tienes los links para saber la versión del sistema operativo usando el API de Windows:
Este para los lenguajes de .NET
Este otro para Visual Basic 6.0

 


Espacios de nombres usados en el código de este artículo:

System
 



Ir al índice principal de el Guille

Valid XHTML 1.0 Transitional ¡CSS Válido!