1、cmd 命令: winver
2、注册表位置:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
计算机\HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup\Volatile
计算机\HKEY_LOCAL_MACHINE\BCD00000000\Objects{bd2b9813-3072-11ec-99ff-cdd6c761390c}\Elements\12000004
3、参考链接
https://stackoverflow.com/questions/2819934/detect-windows-version-in-net
https://www.prugg.at/2019/09/09/properly-detect-windows-version-in-c-net-even-windows-10/
public static string OS_Name()
{
return (string)(from x in new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem").Get().
Cast<ManagementObject>()select x.GetPropertyValue("Caption")).FirstOrDefault();
/**
string winver = string.Empty;
string wql = "SELECT Caption FROM Win32_OperatingSystem";
ManagementObjectSearcher mojs = new ManagementObjectSearcher(wql);
//var winver1 = mojs.Get().Cast<ManagementObject>().Select(x => x.GetPropertyValue("Caption")).FirstOrDefault();
ManagementObjectCollection moc = mojs.Get();
if (moc.Count > 0)
{
foreach (ManagementObject item in moc)
{
foreach (PropertyData item1 in item.Properties)
{
if (item1.Name.Equals("Caption"))
{
winver = item1.Value as string;
}
}
}
}
return winver;
*/
}