/// <summary>
/// 获取电脑cpu,硬盘序列号,网卡地址类
/// </summary>
class HardwareInfo
{
/// <summary>
/// 取机器名
/// </summary>
/// <returns></returns>
public string GethostName()
{
return System.Net.Dns.GetHostName();
}
/// <summary>
/// 获取cpu序列号
/// </summary>
/// <returns></returns>
public static string GetCPUSerialNumber()
{
string cpuSerialNumber = string.Empty;
using (ManagementClass mc = new ManagementClass("Win32_Processor"))
{
using (ManagementObjectCollection moc = mc.GetInstances())
{
foreach (ManagementObject mo in moc)
{
cpuSerialNumber = mo["ProcessorId"].ToString();
break;
}
}
}
return cpuSerialNumber;
}
/// <summary>
/// 获取硬盘序列号
/// </summary>
/// <returns></returns>
public static string GetDiskSerialNumber()
{
string diskSerialNumber = string.Empty;
using (ManagementObjectSearcher mos = new ManagementObjectSearcher())
{
mos.Query = new SelectQuery("Win32_DiskDrive", "", new string[] { "PNPDeviceID", "Signature" });
using (ManagementObjectCollection myCollection = mos.Get())
{
using (ManagementObjectCollection.ManagementObjectEnumerator em = myCollection.GetEnumerator())
{
em.MoveNext();
diskSerialNumber = em.Current.Properties["signature"].Value.ToString().Trim();
}
}
}
return diskSerialNumber;
}
/// <summary>
/// 获取网卡硬件地址
/// </summary>
/// <returns></returns>
public static string GetMoAddress()
{
string moAddress = " ";
using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
using (ManagementObjectCollection moc2 = mc.GetInstances())
{
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"])//判断网卡是否可用
{
moAddress = mo["MacAddress"].ToString();
break;
}
}
}
}
return moAddress;
}
}
调用示例:
string getComputerInfo = HardwareInfo.GetCPUSerialNumber() + HardwareInfo.GetDiskSerialNumber() + HardwareInfo.GetMoAddress();