First Get the Processor ID like following: (Add Reference to System.Management
)
ManagementObjectCollection mbsList = null;
ManagementObjectSearcher mbs = new ManagementObjectSearcher("Select * From Win32_processor");
mbsList = mbs.Get();
string id = "";
foreach (ManagementObject mo in mbsList)
{
id = mo["ProcessorID"].ToString();
}
//Then you can get the motherboard serial number:
ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
ManagementObjectCollection moc = mos.Get();
string motherBoard = "";
foreach (ManagementObject mo in moc)
{
motherBoard = (string)mo["SerialNumber"];
}
You can concat the above two and get a unique ID
string myUniqueID = id + motherBoard;
Console.WriteLine(myUniqueID);
Also check out this link Finding Hardware ID, CPU ID, Motherboard ID, Hard-Disk ID of a computer