Tho*_*att 30 .net windows diagnostics system.diagnostics version
如何将MS Windows操作系统版本号转换为产品名称?
例如,在.NET中,可以使用以下两个属性来确定该产品是MS Windows Vista Ultimate Edition:
Environment.OSVersion.Platform returns Win32NT
Environment.OSVersion.Version returns 6.0.6001.65536
Avr*_*ram 50
VB:
Public Function GetOSVersion() As String
Select Case Environment.OSVersion.Platform
Case PlatformID.Win32S
Return "Win 3.1"
Case PlatformID.Win32Windows
Select Case Environment.OSVersion.Version.Minor
Case 0
Return "Win95"
Case 10
Return "Win98"
Case 90
Return "WinME"
Case Else
Return "Unknown"
End Select
Case PlatformID.Win32NT
Select Case Environment.OSVersion.Version.Major
Case 3
Return "NT 3.51"
Case 4
Return "NT 4.0"
Case 5
Select Case _
Environment.OSVersion.Version.Minor
Case 0
Return "Win2000"
Case 1
Return "WinXP"
Case 2
Return "Win2003"
End Select
Case 6
Select Case _
Environment.OSVersion.Version.Minor
Case 0
Return "Vista/Win2008Server"
Case 1
Return "Win7/Win2008Server R2"
Case 2
Return "Win8/Win2012Server"
Case 3
Return "Win8.1/Win2012Server R2"
End Select
Case 10 //this will only show up if the application has a manifest file allowing W10, otherwise a 6.2 version will be used
Return "Windows 10"
Case Else
Return "Unknown"
End Select
Case PlatformID.WinCE
Return "Win CE"
End Select
End Function
Run Code Online (Sandbox Code Playgroud)
public string GetOSVersion()
{
switch (Environment.OSVersion.Platform) {
case PlatformID.Win32S:
return "Win 3.1";
case PlatformID.Win32Windows:
switch (Environment.OSVersion.Version.Minor) {
case 0:
return "Win95";
case 10:
return "Win98";
case 90:
return "WinME";
}
break;
case PlatformID.Win32NT:
switch (Environment.OSVersion.Version.Major) {
case 3:
return "NT 3.51";
case 4:
return "NT 4.0";
case 5:
switch (Environment.OSVersion.Version.Minor) {
case 0:
return "Win2000";
case 1:
return "WinXP";
case 2:
return "Win2003";
}
break;
case 6:
switch(Environment.OSVersion.Version.Minor) {
case 0:
return "Vista/Win2008Server";
case 1:
return "Win7/Win2008Server R2";
case 2:
return "Win8/Win2012Server";
case 3:
return "Win8.1/Win2012Server R2";
}
break;
case 10: //this will only show up if the application has a manifest file allowing W10, otherwise a 6.2 version will be used
return "Windows 10";
}
break;
case PlatformID.WinCE:
return "Win CE";
}
return "Unknown";
}
Run Code Online (Sandbox Code Playgroud)
Sea*_*ron 13
您可以使用WMI获取友好的产品名称("Microsoft®WindowsServer®2008Enterprise"):
using System.Management;
var name = (from x in new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get().OfType<ManagementObject>()
select x.GetPropertyValue("Caption")).First();
return name != null ? name.ToString() : "Unknown";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45554 次 |
| 最近记录: |