Feedback

OS & Servicepack ermitteln

Sprache: C#

Gibt im Klartext zurück, welches Betriebssystem und welcher Servicepack auf der Maschine laufen.
private string GetOSandServicepack()
{
      OperatingSystem os = Environment.OSVersion;
      string osText = "";
      if (os.Version.Major == 5)
      {
            switch (os.Version.Minor)
            {
                  case 0: osText = "Windows 2000";
                        break;
                  case 1: osText = "Windows XP";
                        break;
                  case 2: osText = "Windows Server 2003";
                        break;
                  default: osText = os.ToString();
                        break;
            }
      }
      else
      {
            if (os.Version.Major == 6)
                  osText = "Windows Vista";
            else
                  osText = os.ToString();
      }
      string osVersion = os.VersionString;
      string spText = os.ServicePack;
      // parameterweise zurück ..
      
      return string.Format("{0} , {1}", osText, spText );
}
private string GetOSandServicepack()
{
      OperatingSystem os = Environment.OSVersion;
      string osText = "";
      if (os.Version.Major == 5)
      {
            switch (os.Version.Minor)
            {
                  case 0: osText = "Windows 2000";
                        break;
                  case 1: osText = "Windows XP";
                        break;
                  case 2: osText = "Windows Server 2003";
                        break;
                  default: osText = os.ToString();
                        break;
            }
      }
      else
      {
            if (os.Version.Major == 6)
                  osText = "Windows Vista";
            else
                  osText = os.ToString();
      }
      string osVersion = os.VersionString;
      string spText = os.ServicePack;
      // parameterweise zurück ..
      
      return string.Format("{0} , {1}", osText, spText );
}

4 Kommentare

  1. Mir ist noch ein kleiner Fehler aufgefallen:
    osVersion ist immer null, da du nicht in String umwandelst. Hier ein verbesserungsvorschlag

    [code] else
    {
    if (os.Version.Major == 6)
    switch (os.Version.Minor)
    {
    case 0: osText = „Windows Vista“;
    break;
    case 1: osText = „Windows 7“;
    break;
    default: osText = os.ToString();
    break;
    }
    }
    string osVersion = os.VersionString.ToString();
    string spText = os.ServicePack;
    // parameterweise zurück ..

    return string.Format(„{0} , {1}, {2}“, osText, spText, osVersion);[/code]

  2. Nun Danke!
    Das dieser Snippet noch kein Windows7 erkennt, liegt einfach daran, das als ich den Snippet geschrieben hab es noch nicht einmal eine Ahnung von Win7 gab. 😉
    Und du hast recht: Der string osVersion ist zwar niemals NULL aber der Wert wird einfach nicht bei der Rückgabe verwendet…
    Ich werde deine Rückmeldungen baldigst in den Snippet einfliessen lassen.