1. 概述
从 Windows 10 开始,微软已经弃用了 GetVersionEx 方式获取 Windows 系统版本 [官方解释]。这就导致网上一大批C#获取 Windows 版本的代码把 Windows 10 识别为 Windows 8。比如我的电脑 Windows 10 就被识别成 6.2.9200,进而判断出是 Windows 8。
按照微软官方论坛提示,可以通过 WMI(Windows Management Instruction) 获取正确系统的版本号。下面把传统获取方式、WMI获取方式和直接获取操作系统名称的三个方法列出来。
2. 展示
2.1 传统获取方式(弃用)
传统获取 Windows 系统版本的方法:先获取 Windows 系统的版本号,再通过版本号比对出操作系统名称。
public static string get_OSVersion()
{
//Get Operating system information.
OperatingSystem os = Environment.OSVersion;
//Get version information about the os.
Version vs = os.Version;
//Variable to hold our return value
string operatingSystem = "";
if (os.Platform == PlatformID.Win32Windows)
{
//This is a pre-NT version of Windows
switch (vs.Minor)
{
case 0:
operatingSystem = "95";
break;
case 10:
if (vs.Revision.ToString() == "2222A")
operatingSystem = "98SE";
else
operatingSystem = "98";
break;
case 90:


发布评论