在c#中无法获得CPU序列号

本文关键字:CPU 序列号 | 更新日期: 2023-09-27 18:18:04

我试图获得CPU序列号,但我不能这样做。我可以得到主板和硬盘,但没有cpu。

下面是我的代码。我做错了什么?
public static void GetClientComputerInfo()
    {
        HDDSerial = "0";
        BoardSerial = "0";
        CPUSerial = "0";
        try
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_DiskDrive");
            foreach (ManagementObject share in searcher.Get())
            {
                foreach (PropertyData PC in share.Properties)
                {
                    if (PC.Name == "SerialNumber")
                    {
                        HDDSerial = PC.Value.ToString();
                    }
                    if (PC.Name == "SerialNumber")
                    {
                        BoardSerial = PC.Value.ToString();
                    }
                    if (PC.Name == "ProcessorID")
                    {
                        CPUSerial = PC.Value.ToString();
                    }
                }
            }
        }
        catch
        {
        }
    }

在c#中无法获得CPU序列号

试试这个

 string cpuInfo = string.Empty;
    ManagementClass mc = new ManagementClass("win32_processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc)
    {
         cpuInfo = mo.Properties["processorID"].Value.ToString();
         break;
    }

从这里提取的代码