public class GetInfo
{
/// <summary>
/// 获取硬盘的序列号
/// </summary>
/// <returns></returns>
public static string GetDiskID()
{
String HDid = string.Empty;
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
if (HDid == string.Empty)
{
HDid = (string)mo.Properties["Model"].Value;
break;
}
}
return HDid;
}
/// <summary>
/// 获取磁盘分区信息
/// </summary>
/// <param name="strDriveLetter"></param>
/// <returns></returns>
public static string GetVolumeSerial(string strDriveLetter)
{
if (strDriveLetter == "" || strDriveLetter == null)
{
strDriveLetter = "C:";
}
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"" + strDriveLetter + "\"");
disk.Get();
Debug.WriteLine("FreeSpace: " + disk["FreeSpace"].ToString());
return disk["VolumeSerialNumber"].ToString();
}
/// <summary>
/// 获取网卡地址
/// </summary>
/// <returns></returns>
public static string GetMACAddress()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
string MACAddress = String.Empty;
foreach (ManagementObject mo in moc)
{
if (mo["MacAddress"] != null)
{
Debug.WriteLine("Network Adapter Description: " + mo["Description"].ToString() + "-" + mo["MacAddress"].ToString());
}
if (MACAddress == String.Empty)
{
if ((bool)mo["IPEnabled"] == true)
{
MACAddress = mo["MacAddress"].ToString();
}
}
mo.Dispose();
}
MACAddress = MACAddress.Replace(":", "");
return MACAddress;
}
/// <summary>
/// 获取CPU序列号
/// </summary>
/// <returns></returns>
public static string GetCPUId()
{
string cpuInfo = String.Empty;
string temp = String.Empty;
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
Debug.WriteLine("Processor Caption: " + mo.Properties["Caption"].Value.ToString());
Debug.WriteLine("Processor MaxClockSpeed: " + mo.Properties["MaxClockSpeed"].Value.ToString());
if (cpuInfo == String.Empty)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
}
return cpuInfo;
}
}