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 );
}
Alte URL:
/snippet/os-servicepack-ermitteln/819
Nicht schlecht, aber du hast Win7 vergessen 🙂
Case 0 wäre Vista und Case 1 Win7
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]
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.
Man kann den Namen auch mit Hilfe der WMI ermitteln:
http://dotnet-snippets.de/snippet/os-version-name-mit-wmi/4929