C# 获取 OS 名称 Windows 8.1
C# Get OS Name Windows 8.1
我想检查 运行 window 是 windows 8 还是 windows 8.1。
随着 Windows 主要检查
6.2 -> Win 8
6.3 -> Win 8.1
那是行不通的,因为随着 Windows 8.1 的发布,GetVersion API 的行为已经改变,它将 return 用于操作系统版本的值.
如何才能正确获取版本?
您可以在 Windows 的注册表中找到该信息。例如,如果您安装了 Windows 8.1 Pro Edition 并执行以下行:
using Microsoft.Win32;
//...
var windowsName= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "ProductName","");
var version= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentVersion", "");
var build= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentBuild", "");
您将分别获得Windows 8.1 Pro
、6.3
和9600
。
您也可以使用 WMI 获取 Windows 名称,查看此 post 中的答案:
public static string GetOSFriendlyName()
{
string result = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem");
foreach (ManagementObject os in searcher.Get())
{
result = os["Caption"].ToString();
break;
}
return result;
}
试试这个
它连接了主要版本号和次要版本号
根据这里有很多方法可以玩 Environment Class (System)
string ver = Environment.OSVersion.Version.Major + "." + Environment.OSVersion.Version.Minor;
输出为:
6.2
我想检查 运行 window 是 windows 8 还是 windows 8.1。 随着 Windows 主要检查
6.2 -> Win 8
6.3 -> Win 8.1
那是行不通的,因为随着 Windows 8.1 的发布,GetVersion API 的行为已经改变,它将 return 用于操作系统版本的值.
如何才能正确获取版本?
您可以在 Windows 的注册表中找到该信息。例如,如果您安装了 Windows 8.1 Pro Edition 并执行以下行:
using Microsoft.Win32;
//...
var windowsName= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "ProductName","");
var version= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentVersion", "");
var build= Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\", "CurrentBuild", "");
您将分别获得Windows 8.1 Pro
、6.3
和9600
。
您也可以使用 WMI 获取 Windows 名称,查看此 post 中的答案:
public static string GetOSFriendlyName()
{
string result = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem");
foreach (ManagementObject os in searcher.Get())
{
result = os["Caption"].ToString();
break;
}
return result;
}
试试这个
它连接了主要版本号和次要版本号 根据这里有很多方法可以玩 Environment Class (System)
string ver = Environment.OSVersion.Version.Major + "." + Environment.OSVersion.Version.Minor;
输出为:
6.2