RT方法如下
string  GetCpuID()
  {
   try
   {
    //获取CPU序列号代码
    string cpuInfo = "";//cpu序列号
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach(ManagementObject mo in moc)
    {
     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
    }
    moc=null;
    mc=null;
    return cpuInfo;
   }
   catch
   {
    return "unknow";
   }
   finally
   {
   }
   
  }
在方法中测试moc.Count显示为1.但是我是双核的机器,为什么显示count为1,且只得到一个序列号?

解决方案 »

  1.   


    //获取CPU序列号代码  
    string GetCpuID()
    {
        string cpuInfo = "";//cpu序列号  
        ManagementClass mc = new ManagementClass("Win32_Processor");
        ManagementObjectCollection moc = mc.GetInstances();
        foreach (ManagementObject mo in moc)
        {
            cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
            MessageBox.Show(cpuInfo);
        }
        moc = null;
        mc = null;
        return cpuInfo;
    }  
      

  2.   

    现在有些不太明白:
    1,一个CPU一个序列号,不区分单、双、四核
    2,单核的一个序列号,双核的两个,四核的四个不知道哪个正确?