联想台式计算机的设备序列号,WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取某部分的硬件信息就不用写一个一个的函数,比如获取MAC地址就写一个获取MAC地址的函数,获取CPU 信息就写一个获取CPU信息的函数,太麻烦了
如下是函数代码:
private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
{
string result = "";
System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
System.Management.ManagementObjectCollection moc = mc.GetInstances();
foreach (System.Management.ManagementObject mo in moc)
{
if (mo[wmiMustBeTrue].ToString() == "True")
{
if (result == "")
{
try
{
result = mo[wmiProperty].ToString();
break;
}
catch
{
}
}
}
}
return result;
}
private static string identifier(string wmiClass, string wmiProperty)
{
string result = "";
System.Management.ManagementClass mc = new System.Management.ManagementClass(wmiClass);
System.Management.ManagementObjectCollection moc = mc.GetInstances();
foreach (System.Management.ManagementObject mo in moc)
{
if (result == "")
{
try
{
result = mo[wmiProperty].ToString();
break;
}
catch
{
}
}
}
return result;
}
获取CPUID
private static string cpuId()
{
string retVal = identifier("Win32_Processor", "UniqueId"); //CPUID
retVal += identifier("Win32_Processor", "ProcessorId");
retVal += identifier("Win32_Processor", "Name"); //处理器名称
retVal += identifier("Win32_Processor", "Manufacturer"); //处理器制造商
retVal +=identifier("Win32_Processor", "MaxClockSpeed"); //最大时钟频率
return retVal;
}
获取BIOS信息,其中BIOS序列号就是联想台式机的出厂编号,我看联想的保修页面里的自动获取主机编号应该也是调用这个"Win32_BIOS"的 "SerialNumber
报修页面网址:http://support1.lenovo.com.cn/lenovo/wsi/wsbx/lenovo/#minarepairInfo
//BIOS信息
private static string biosId()
{
return identifier("Win32_BIOS", "Manufacturer") //BIOS制造商名称
+ identifier("Win32_BIOS", "SMBIOSBIOSVersion") //
+ identifier("Win32_BIOS", "IdentificationCode") //
+ identifier("Win32_BIOS", "SerialNumber") //BIOS序列号
+ identifier("Win32_BIOS", "ReleaseDate") //出厂日期
+ identifier("Win32_BIOS", "Version"); //版本号
}
获取硬盘信息:
private static string diskId()
{
return identifier("Win32_DiskDrive", "Model") //模式
+ identifier("Win32_DiskDrive", "Manufacturer") //制造商
+ identifier("Win32_DiskDrive", "Signature") //签名
+ identifier("Win32_DiskDrive", "TotalHeads"); //扇区头
}
获取显卡信息:
private static string videoId()
{
return identifier("Win32_VideoController", "DriverVersion")
+ identifier("Win32_VideoController", "Name");
}
获取网卡MAC地址信息:
private static string macId()
{
return identifier("Win32_NetworkAdapterConfiguration", "MACAddress", "IPEnabled");
}
联想台式计算机的设备序列号,WMI获取硬件信息封装函数方法(联想台式机出厂编号 CPUID BIOS序列号 硬盘信息 显卡信息 MAC地址)...相关推荐
- C++通过WMI获取硬件配置信息
C++通过WMI获取硬件配置信息 WMI即Windows管理规范.通过它可以访问.配置.管理和监视几乎所有的Windows资源. WMI提供程序在WMI和托管资源之间扮演着中间方的角色.提供程序代表使 ...
- wmi获取硬件信息c语言,通过 WMI来获取本地计算机软件硬件信息
一网打尽 介绍及款工具 WMITools和WMICodeCreator 生成.net或vbs代码来操作WMI的. 您想需要怎么调用都可以了.具体怎么下,google或bing下吧. 相关脚本 'On ...
- 联想笔记本计算机里没有dvd,联想笔记本电脑启动设备引导列表没有DVD选项的解决方法...
联想计算机可以在启动过程中通过启动快捷键F12选择要启动的设备.默认情况下,启动设备启动列表将具有硬盘,CD-ROM,网络和其他选项,但是某些用户遇到了不带DVD选项的Lenovo笔记本启动选项.问题 ...
- C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统摘要信息查看功能...
最近做一个项目碰到要实现查看本地和远程计算机的摘要信息,采用命令行msinfo32可以很快查看到,如下图: 需要在用C#来实现类似信息查看.尤其远程计算机的..因此通过MSDN查询到.win32的AP ...
- C#通过WMI的wind32 的API函数实现msinfo32的本地和远程计算机的系统摘要信息查看功能
最近做一个项目碰到要实现查看本地和远程计算机的摘要信息,采用命令行msinfo32可以很快查看到,如下图: 需要在用C#来实现类似信息查看.尤其远程计算机的..因此通过MSDN查询到.win32的AP ...
- oracle自定义函数获取省份,oracle 自定义函数 方法 基本例子
核心提示:函数用于返回特定数据.执行时得找一个变量接收函数的返回值; 语法如下: create or replace function function_name ( argu1 [mode1] da ...
- 获取MAC地址的四种方法(转)
https://www.cnblogs.com/zlshmily/p/10058560.html zlshmily 在实际的应用系统中,我们往往会需要在程序运行时获取当前机器的网卡的MAC地址,以便作 ...
- 联想小新pro无法人脸识别自动开机的解决方法
联想小新pro无法人脸识别自动开机的解决方法 联想小新pro无法人脸识别自动开机,只能输入PIN解锁. 文章目录 联想小新pro无法人脸识别自动开机的解决方法 一.问题 二.解决方法 一.问题 打开电 ...
- linux c 获取mac地址吗,Linux系统下用C语言获取MAC地址
最近在做一个小程序,需要用到在linux系统里编写C程序从而获取MAC地址,从网上搜了一遍,想总结一下.如果你就只需要单个功能的程序,可以采用方法一,见代码1,一般最好能够封装起来,写成获取MAC地址 ...
最新文章
- Android之在BaseAdapter源码中了解观察者模式
- oracle 日期加3个月,三个日期函数(十分有用)!!!!!!!!
- How does Spring @Transactional Really Work?--转
- Matplotlib Tutorial(译)
- 完整的开发一个ContentProvider步骤
- 加密Spring加载的Properties文件
- 求一个任意实数c的算术平方根g_中考总复习实数知识点
- DeepFaceLab报错,CUDA driver is insufficient 解决方法!
- MySQL版本升级5.6到5.7版本
- ERROR Request failed with status code 404 :at createError (node_modules\axios\lib\core\createError.
- 5g组网sa方式的演进_关于5G的SA(独立组网)和NSA(非独立组网),这篇通俗易懂!
- 网页监控之自己设计监控界面
- R 两组样本t检验 wilcoxon检验、卡方、fisher精确检验
- 平衡二叉树的调整(详解 LL、RR、LR、RL)
- vue项目微信公众号title设置和调用接口动态修改
- 9. 【gRPC系列学习】连接失败处理:backoff协议
- 每日一题#10-22 Ransomware
- JAVASE基础(十)
- java中奇数魔方,算法-奇数阶魔方
- PTA 练习实验6 十道练习题
热门文章
- Lintcode 2.尾部的零
- 计算机软件设计图ns图,PC梯形图的四种设计方法
- 各种音视频编解码学习详解之 编解码学习笔记(十三):容器
- 谷歌的ie9.js ie8.js ie7.js 解决IE5、IE6、IE7、IE8与W3C标准的冲突
- 用python求几个整数的和_python里面整数
- 刘鹏报告:人工智能引领未来
- 谷歌翻译接口识别语言php,利用谷歌翻译接口实现网站多语言切换
- 一台完整的微型计算机应由,计算机文化基础试题库
- 一文搞定vim,从安装到入门到精通,助你成功入门vim
- 《网络安全工程师笔记》 第十二章:域