admin管理员组文章数量:1592311
从 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()里面的参数列表如下链接。
参数列表
版权声明:本文标题:C# 获取 Windows 操作系统版本和名称,系统启动分区,当前运行的进程数,操作系统的语言,制造商名称 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728135244a1146719.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论