Reputation: 23
I am trying to figure out on how to get the OS name for windows 8. I am currently using the following code, but it is not handling Windows 7 or Windows 8.
How can I handle more recent Windows versions?
System.OperatingSystem os = Environment.OSVersion;
Version vs = os.Version;
if (os.Platform == PlatformID.Win32Windows)
{
switch (vs.Minor)
{
case 0:
operatingSystem = "95";
break;
case 10:
if (vs.Revision.ToString() == "2222A")
operatingSystem = "98SE";
else
operatingSystem = "98";
break;
case 90:
operatingSystem = "Me";
break;
default:
break;
}
}
else if (os.Platform == PlatformID.Win32NT)
{
switch (vs.Major)
{
case 3:
operatingSystem = "NT 3.51";
break;
case 4:
operatingSystem = "NT 4.0";
break;
case 5:
if (vs.Minor == 0)
operatingSystem = "2000";
else
operatingSystem = "XP";
break;
case 6:
if (vs.Minor == 0)
operatingSystem = "Vista";
else
operatingSystem = "7";
break;
default:
break;
}
}
MessageBox.Show("operating System: " + operatingSystem +
"\nOS Version: " + os.Version.ToString() +
"\nOS Platoform: " + os.Platform.ToString() +
"\nOS SP: " + os.ServicePack.ToString() +
"\nOS Version String: " + os.VersionString.ToString());
Upvotes: 2
Views: 5321
Reputation: 13217
Starting from Windows Vista, the Major-Number of the release was 6
. Windows Vista has 6.0
, Windows 7 has 6.1
and Windows 8 has 6.2
.
See here for an overview.
EDIT
switch (vs.Major)
{
case 3:
Console.WriteLine("Windows NT 3.51");
break;
case 4:
Console.WriteLine("Windows NT 4.0");
break;
case 5:
if (vs.Minor == 0)
Console.WriteLine("Windows 2000");
else
Console.WriteLine("Windows XP");
break;
case 6:
if(vs.Minor == 0)
Console.WriteLine("Windows Vista");
else if(vs.Minor == 1)
Console.WriteLine("Windows 7");
else if(vs.Minor == 2)
Console.WriteLine("Windows 8")
break;
}
Upvotes: 5
Reputation: 56459
You can get that using System.Environment.OSVersion
and you're looking for 6.2
For Windows 8, you should check the following:
var os = System.Environment.OsVersion;
bool isWindows8 = os.MajorVersion == 6 && os.MinorVersion == 2
Upvotes: 2