Feedback

C# - OS Version & Name mit WMI

Veröffentlicht von am 03.12.2014
(0 Bewertungen)
Man kann natürlich den Namen der Windows Version anhand verschiedener Teile von .NET und des Systems ermitteln. Einfacher dürfte es jedoch über die WMI sein.
Das hat noch einen schönen Nebeneffekt - die Werte sind immer aktuell, auch ohne Codeanpassung. D.h., dass selbst die Win10 TP schon die korrekten Werte ausgibt.

Zusätzlich benötigte Verweise
System.Management.dll

Benötigte Namespaces
System
System.Management
System.Linq
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

/// <summary>
/// Stellt Informationen über das Betriebssystem Bereit.
/// </summary>
public static class OSVersion
{
    /// <summary>
    /// Initialisiert die Werte der Eigenschaften.
    /// </summary>
    static void init()
    {
        using (var mos = new ManagementObjectSearcher("SELECT Caption, Version FROM Win32_OperatingSystem"))
        {
            var attribs = mos.Get().OfType<ManagementObject>();
            caption = attribs.FirstOrDefault().GetPropertyValue("Caption").ToString() ?? "Unknown";
            version = new Version((attribs.FirstOrDefault().GetPropertyValue("Version") ?? "0.0.0.0").ToString());
        }
    }

    static string caption = null;
    static Version version = null;

    /// <summary>
    /// Ruft den Namen des Betriebssystems ab.
    /// </summary>
    public static string Caption
    {
        get
        {
            if (caption == null)
                init();
            return caption;
        }
    }
    /// <summary>
    /// Ruft die Versionsnummer des Betriebssystems ab.
    /// </summary>
    public static Version Version
    {
        get
        {
            if (version == null)
                init();
            return version;
        }
    }
}

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!