有时候需要得到硬件信息绑定用户登录

代码如下:

  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获取硬件信息的更多相关文章

  1. WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法

    原文:WMI 获取硬件信息的封装函数与获取联想台式机的出厂编号方法 今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都是可以提取出来的,就自己把那些公共部分提出出来,以后如果要获取 某部分的 ...

  2. 主机性能监控之wmi 获取磁盘信息

    标 题: 主机性能监控之wmi 获取磁盘信息作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990541.html 欢迎转帖 请保持文本完整并注明出处 仅 ...

  3. 主机性能监控之wmi 获取进程信息

    标 题: 主机性能监控之wmi 获取进程信息作 者: itdef链 接: http://www.cnblogs.com/itdef/p/3990499.html 欢迎转帖 请保持文本完整并注明出处 仅 ...

  4. linux下dmidecode命令获取硬件信息

    linux下dmidecode命令获取硬件信息 2 A+ 所属分类:Linux 运维工具 dmidecode在 Linux 系统下获取有关硬件方面的信息.dmidecode 遵循 SMBIOS/DMI ...

  5. C#获取硬件信息

    //硬件信息 public class GF_Hardware { /// <summary> /// cpu序列号 /// </summary> /// <return ...

  6. ansible facts 获取硬件信息

    facts 指的是 ansible_facts 变量,ansible 中使用 setup 模块来获取,包含系统的大部分基础硬件信息, [root@10_1_162_39 host_vars]# ll ...

  7. 获取硬件信息的delphi源码CPUID、操作系统、Mac物理地址、计算机名称、IP地址、用户名

    {-----------------------------------------------------------------------------作者:sushengmiyan 2013.0 ...

  8. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转

    前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...

  9. Powershell获取硬件信息

    1.获取系统的BIOS的信息: Get-WMIObject -Class Win32_BIOS 2.获取内存信息: Get-WMIObject -Class Win32_PhysicalMemory ...

随机推荐

  1. c++中实现单例模式singleton class

    本文首发于个人博客https://kezunlin.me/post/8932eaec/,欢迎阅读! singleton class and usage in c++. Guide what singl ...

  2. Install python3

    wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz tar xf Python-3.7.4.tgz cd Python-3.7. ...

  3. 快速搭建 SpringCloud 微服务开发环境的脚手架

    本文适合有 SpringBoot 和 SpringCloud 基础知识的人群,跟着本文可使用和快速搭建 SpringCloud 项目. 本文作者:HelloGitHub-秦人 HelloGitHub ...

  4. 2019-11-6:ubuntu安装配置JAVA环境

    1,下载JAVA,官方java 18下载网站:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331 ...

  5. Spring事务笔记

    1:在同一个类中,如果A方法有事务,B方法也有事务(propagation = Propagation.REQUIRES_NEW),如下代码所示: @Override@Transactionalpub ...

  6. SQL语句实用技巧1

    --显示行号 select *, ROW_NUMBER() OVER(Order by TYPENAME ) AS RowNumber from ( select distinct TYPENAME ...

  7. 《手把手教你》系列练习篇之6-python+ selenium自动化测试(详细教程)

    1. 简介 前面文章我们了解了如何获取元素的text属性值,和判断元素是否显示在页面(is_displayed()方法),本文我们来学习下,判断一个控件是否被选中状态. 2. 验证控件是否被选中 还是 ...

  8. 手写Promise A+ 规范

    基于ES6语法手写promise A+ 规范,源码实现 class Promise { constructor(excutorCallBack) { this.status = 'pending'; ...

  9. RocketMQ 多副本前置篇:初探raft协议

    目录 1.Leader选举 1.1 一轮投票中,只有一个节点发起投票的情况 1.2 一轮投票中,超过一个节点发起投票的情况 1.3 思考如何实现Raft选主 2.日志复制 Raft协议是分布式领域解决 ...

  10. Scrapy持久化存储-爬取数据转义

    Scrapy持久化存储 爬虫爬取数据转义问题 使用这种格式,会自动帮我们转义 'insert into wen values(%s,%s)',(item['title'],item['content' ...