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 ...
随机推荐
- 二 linuk系统安装
一 VM虚拟机安装与使用 安装: VM官网:www.vmware.com 不需要太高版本 安装较为简单,选典型安装,别放c盘即可 使用 1.创建虚拟机时,把每个处理器的内核数量调高(我调为8),注意别 ...
- Openlayers Projection导致经纬度颠倒问题
问题: openlayers3调用TileWMS接口,实现Openlayers加载Geoserver转发的ArcGIS切片时,web墨卡托(wkid3857)没有问题,但是WGS84(wkid4326 ...
- PostGIS 查看表属性(字段、类型、是否为空)
SELECT a.attnum, a.attname AS field, t.typname AS type ...
- ArcGIS 发布Feature服务
运行环境: Win10 ArcGIS10.4 具体操作: 1.打开ArcMap,加载sde中导入的文件,也可以加载shp数据源指向sde中文件 2.保存成mxd,然后点share as-Service ...
- 什么是PHP Socket?
什么是 Socket? Socket 的中文翻译过来就是“套接字”.套接字是什么,我们先来看看它的英文含义:插座. Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通 ...
- Intellij IDEA如何设置快速调整字体大小的快捷键
Intellij IDEA快速调整字体大小的快捷键 第一种方法(方便) 单击左上角File,找到Settings并点击.(当然也可以直接Alt+Ctrl+s) 点击Editor下的General,勾选 ...
- firefox常用插件总结
当初因为ctf比赛而接触啦firefox,慢慢的在firfox上安装满啦各种插件,今天就想着总结一下,给那些刚玩firefox的朋友一些小小的帮助也是好的. 1:Firebug Firefox强 ...
- php mysql 中文乱码解决,数据库显示正常,php调用不正常
一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是 ...
- java 小程序分析:参数传递
public class Test{ public static void main (String [] ABC){ StringBuffer a = new StringBuffer(" ...
- swiper实现一个好看的轮播图
轮播是我们在编写页面中经常遇到的模块,所以网上也会有各种有有关轮播图的插件.今天忽然间看到了swiper上一个高颜值的轮播功能,顺便做一下分享. 首先页面在head内要先引用 swiper的css 和 ...