using System.Management;
public string GetCPUId()
{
    string cpuInfo = String.Empty;
    //create an instance of the Managemnet class with the
    //Win32_Processor class
    ManagementClass mgmt = new ManagementClass("Win32_Processor");
    //create a ManagementObjectCollection to loop through
    ManagementObjectCollection objCol = mgmt.GetInstances();
    //start our loop for all processors found
    foreach (ManagementObject obj in objCol)
    {
        if (cpuInfo == String.Empty)
        {
            // only return cpuInfo from first CPU
            cpuInfo = obj.Properties["ProcessorId"].Value.ToString();
        }
    }
    return cpuInfo;
}

کد بدست اوردن نام شرکت سازنده:

using System.Management;
public string GetCPUManufacturer()
{
    string cpuMan = String.Empty;
    //create an instance of the Managemnet class with the
    //Win32_Processor class
    ManagementClass mgmt = new ManagementClass("Win32_Processor");
    //create a ManagementObjectCollection to loop through
    ManagementObjectCollection objCol = mgmt.GetInstances();
    //start our loop for all processors found
    foreach (ManagementObject obj in objCol)
    {
        if (cpuMan == String.Empty)
        {
            // only return manufacturer from first CPU
            cpuMan = obj.Properties["Manufacturer"].Value.ToString();
        }
    }
    return cpuMan;
}