前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# 通过VMI接口获取硬件ID

C# 通过VMI接口获取硬件ID

作者头像
微软技术分享
发布2022-12-28 17:55:01
1.4K0
发布2022-12-28 17:55:01

添加引用:using System.Management;

实现代码:

代码语言:javascript
复制
class HardWareInfo
{
	/// <summary>
	/// 获取 CPUID , 更多 cpu 信息参考
	/// </summary>
	/// <returns> cpuid </returns>
	public static string GetCpuId()
	{
		string cpuid = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");
			foreach (ManagementObject mo in searcher.Get())
			{
				cpuid = mo.Properties["ProcessorId"].Value.ToString();
 
				break;
			}
		}
		catch
		{
 
		}
 
		return cpuid;
	}
 
	/// <summary>
	/// 获取硬盘序列号
	/// </summary>
	/// <returns> 硬盘序列号 </returns>
	public static string GetDiskSerialNumber()
	{
		string HDid = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_DiskDrive");
			foreach (ManagementObject mo in searcher.Get())
			{
				HDid = (string)mo.Properties["SerialNumber"].Value;
 
				break;
			}
		}
		catch
		{
 
		}
 
		return HDid;
	}
	
	/// <summary>
	/// 获取硬盘产品型号
	/// </summary>
	/// <returns>硬盘产品型号</returns>
	public static string GetDiskModelNumber()
	{
		string HDid = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_DiskDrive");
			foreach (ManagementObject mo in searcher.Get())
			{
				HDid = (string)mo.Properties["Model"].Value;
 
				break;
			}
		}
		catch
		{
 
		}
		
		return HDid;
	}
 
	/// <summary>
	/// 获取 Mac 地址 ,更多网卡信息参考 :
	/// </summary>
	/// <returns> Mac 地址 </returns>
	public static string GetMacAddress()
	{
		string mac = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_NetworkAdapterConfiguration");
			foreach (ManagementObject mo in searcher.Get())
			{
				if ((bool)mo["IPEnabled"] == true)
				{
					mac = mo["MacAddress"].ToString();
 
					break;
				}
			}
		}
		catch
		{
 
		}
		
		return mac;
	}
 
	/// <summary>
	/// 获取 ip 地址
	/// </summary>
	/// <returns> ip 地址 </returns>
	public static string GetIpAddress()
	{
		string st = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_NetworkAdapterConfiguration");
			foreach (ManagementObject mo in searcher.Get())
			{
				if ((bool)mo["IPEnabled"] == true)
				{
					System.Array ar;
					ar = (System.Array)(mo.Properties["IpAddress"].Value);
					st = ar.GetValue(0).ToString();
 
					break;
				}
			}
		}
		catch
		{
 
		}
		
		return st;
	}
 
	/// <summary>
	/// 获取主板序列号
	/// </summary>
	/// <returns> 主板序列号 </returns>
	public static string GetBIOSSerialNumber()
	{
		string sBIOSSerialNumber = "";
 
		try
		{
			ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");
			foreach (ManagementObject mo in searcher.Get())
			{
				sBIOSSerialNumber = mo.GetPropertyValue("SerialNumber").ToString().Trim();
 
				break;
			}
		}
		catch
		{
 
		}
 
		return sBIOSSerialNumber;
	}
 
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档