Net Core教程

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

本文主要是介绍C# 通过VMI接口获取硬件ID,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

添加引用:using System.Management;

实现代码:

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;
	}
 
}
这篇关于C# 通过VMI接口获取硬件ID的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!