C#通过WMI获取硬件信息
有时候需要得到硬件信息绑定用户登录
代码如下:
private string GetProcessSerialNumber()
{
try
{
ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
new System.Management.ManagementScope("\\\\localhost\\root\\cimv2"),
new System.Management.ObjectQuery("SELECT * FROM Win32_processor")
).Get();
if (ProcessCollection != null && ProcessCollection.Count > )
{
StringBuilder sb = new StringBuilder();
foreach (ManagementObject mo in ProcessCollection)
{
sb.Append(mo["ProcessorId"]);
}
return sb.ToString();
}
else
{
return "";
}
}
catch (Exception)
{
return "";
}
} private string GetMotherBoardSerialNumber()
{
try
{
ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
new System.Management.ManagementScope("\\\\localhost\\root\\cimv2"),
new System.Management.ObjectQuery("SELECT * FROM Win32_bios")
).Get();
if (ProcessCollection != null && ProcessCollection.Count > )
{
StringBuilder sb = new StringBuilder();
foreach (ManagementObject mo in ProcessCollection)
{
sb.Append(mo["SerialNumber"]);
}
return sb.ToString();
}
else
{
return "";
}
}
catch (Exception)
{
return "";
}
} private string GetHardDisk0SerialNumber()
{
try
{
ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
new System.Management.ManagementScope("\\\\localhost\\root\\cimv2"),
new System.Management.ObjectQuery("SELECT * FROM Win32_DiskDrive")
).Get();
if (ProcessCollection != null && ProcessCollection.Count > )
{
StringBuilder sb = new StringBuilder();
foreach (ManagementObject mo in ProcessCollection)
{
if(mo["Name"].ToString().IndexOf("DRIVE0")!=-)
sb.Append(mo["SerialNumber"]);
}
return sb.ToString();
}
else
{
return "";
}
}
catch (Exception)
{
return "";
}
} private string GetNetWorkMACSerialNumber()
{
try
{
ManagementObjectCollection ProcessCollection = new ManagementObjectSearcher(
new System.Management.ManagementScope("\\\\localhost\\root\\cimv2"),
new System.Management.ObjectQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
).Get();
if (ProcessCollection != null && ProcessCollection.Count > )
{
StringBuilder sb = new StringBuilder();
foreach (ManagementObject mo in ProcessCollection)
{
if (mo["IPEnabled"].ToString() == "True")
sb.Append(mo["MacAddress"]);
}
return sb.ToString();
}
else
{
return "";
}
}
catch (Exception)
{
return "";
}
}
C#通过WMI获取硬件信息的更多相关文章
- WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法
原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...
- 主机性能监控之wmi 获取磁盘信息
标 题: 主机性能监控之wmi 获取磁盘信息作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990541.html 欢迎转帖 请保持文本完整并注明出处 仅 ...
- 主机性能监控之wmi 获取进程信息
标 题: 主机性能监控之wmi 获取进程信息作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990499.html 欢迎转帖 请保持文本完整并注明出处 仅 ...
- linux下dmidecode命令获取硬件信息
linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...
- C#获取硬件信息
//硬件信息 public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <return ...
- ansible facts 获取硬件信息
facts 指的是 ansible_facts 变量,ansible 中使用 setup 模块来获取,包含系统的大部分基础硬件信息, [root@10_1_162_39 host_vars]# ll ...
- 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名
{-----------------------------------------------------------------------------作者:sushengmiyan 2013.0 ...
- Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转
前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...
- Powershell获取硬件信息
1.获取系统的BIOS的信息: Get-WMIObject -Class Win32_BIOS 2.获取内存信息: Get-WMIObject -Class Win32_PhysicalMemory ...
随机推荐
- python2中的SSL:CERTIFICATE_VERIFY_FAILED错误的解决办法
在使用urllib2访问一个自签名的https链接时,对于python2.6以下版本,TLS握手期间是不会检查服务器X509的证书签名是否是CA的可信任根证书.不过python2.7以后改变了这种情况 ...
- 【01】主函数main
java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的. 为了更好地学习java或C#,有必要分清它们两者到底在哪里不同. 首先,我们将探讨主函数main. java的主函 ...
- ViewPage+Fragment的使用用法
一.概述 从前面几篇文章,我们知道,实现ViewPager是要有适配器的,我们前面用的适配器是PagerAdapter,而对于fragment,它所使用的适配器是:FragmentPagerAdapt ...
- js 根据指定的多个索引,删除相应的数组元素。splice + sort
更新于2018-04-19 var productItems = ["a", "b", "c", "d"]; var i ...
- 从spring boot发邮件聊到开发的友好性
前些天帮一个朋友做网站,全站都是静态页面,唯一需要用到后端开发的是他需要一个留言板.传统的留言板一般都是提交后保存到数据库,然后提供一个后台的留言列表给管理人员看,我嫌麻烦,就决定留言提交到后台直接发 ...
- mysql配置允许外界连接
1.在mysql的安装目录下找到mysql.ini 找到bind-address=127.0.0.1 ,(有的有,有的没有) 改为 bind-address = 0.0.0.0 2.登录mysql客户 ...
- python模块2
python模块2 相关概念 模块名是标识符(需要按照标识符的写法编写) Pyc文件 在使用模块的项目中会生成一个_pycache_文件,里面存放着编译过的(模块的)字节码缓存文件(因为模块一般很少有 ...
- C语言I作业11
C语言 博客作业11 问题 回答 C语言程序设计II 博客作业11 这个作业要求在哪里 作业要求 我在这个课程的目标是 理解和弄懂局部变量和全局变量,静态变量和动态变量 这个作业在哪个具体方面帮助我实 ...
- mysql的两阶段协议(封锁定理,虫洞事务)
我们都知道数据库的事务具有ACID的四个属性:原子性,一致性,隔离性和持久性.然后在多线程操作的情况下,如果不能保证事务的隔离性,就会造成数据的修改丢失(事务2覆盖了事务1的修改结果).读到脏数据(事 ...
- Oracle_视图_索引_plsql_游标_存储过程_存储函数_触发器
-- 感觉有用点个赞呗^v^ select * from emp; drop view persin_vw;--删除视图 create table emp as select * from scott ...