C# 获取 Windows 操作系统版本和名称,系统启动分区,当前运行的进程数,操作系统的语言,制造商名称

从 Windows 10 开始,微软已经弃用了 GetVersionEx 方式获取 Windows 系统版本 [官方解释]。这就导致网上一大批C#获取 Windows 版本的代码把 Windows 10 识别为 Windows 8。比如我的电脑 Windows 10 就被识别成 6.2.9200,进而判断出是 Windows 8。

按照微软官方论坛提示,可以通过 WMI(Windows Management Instruction) 获取正确系统的版本号。下面把WMI方式获取Windows系统版本方式写出来。

顺便吐槽一下,现在博客的原创是越来越水。比如说今天谈到滴这个问题:排在前面的几个搜索结果基本都是一样的,那些打着原创滴博主也不知道是谁抄谁,总之都一样。更严重滴问题是:按照博客照搬滴代码编译都通过不了。。。。;
麻烦各位同仁抄别人东西的时候,请先验证一下。
好了,回到正题。
方法如下
1:引用system.management库

2:代码如下:

public static string get_OSVersion()
        {
            try
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
                string sCPUSerialNumber = "";
                foreach (ManagementObject mo in searcher.Get())
                {
                    
                    sCPUSerialNumber = mo["Name"].ToString().Trim();//操作系统名字
                    //sCPUSerialNumber = mo["BootDevice"].ToString().Trim();//系统启动分区
                    //sCPUSerialNumber = mo["NumberOfProcesses"].ToString().Trim();//当前运行的进程数
                    //sCPUSerialNumber = mo["SerialNumber"].ToString().Trim();//操作系统序列号
                    //sCPUSerialNumber = mo["OSLanguage"].ToString().Trim();//操作系统的语言
                    //sCPUSerialNumber = mo["Manufacturer"].ToString().Trim();//
                }
                return sCPUSerialNumber.Substring(10, 10);//分割字符串
            }
            catch (Exception e)
            {
                return string.Empty;
            }
        }

3:扩展
ManagementObjectSearcher()里面的参数列表如下链接。

参数列表

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值