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]

Visual Studio Team Foundation Server 2017/2015 (TFS) für Administratoren - Kompakt

Nach dieser Schulung beherrschen Sie die Grundlagen des TFS. Sie erledigen administrative Aufgaben schnell und sicher.

Angular mit ASP.NET Core für .NET-Entwickler

.NET ist Ihnen vertraut, als Entwickler verfügen Sie über einschlägige Kenntnisse. In diesem Kurs lernen Sie nun, Angular in .NET-Umgebungen einzusetzen. Sie verstehen das Konzept von Angular und integrieren das clientseitige JS-Framework sicher in.NET-Anwendungen.

/// <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!