从 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()里面的参数列表如下链接。
参数列表
本文发布于:2024-01-31 14:03:02,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170668098329047.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |