public string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances(); string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}
这是代码,大虾们帮我看看

解决方案 »

  1.   

    取网卡号吧,或者取几个硬件综合运算。
    cpu、主板、硬盘的都因该是批号,网卡的才是每块一个号
      

  2.   

    取MAC地址了
    但是MAC也可以修改的
      

  3.   

    取CPU+网卡MAC+硬盘组合就OK了.
            /// <summary>
            /// get cpu sequence number
            /// </summary>
            /// <returns></returns>
            public static string GetCPUID()
            {            string str = "";
                ManagementClass mcCpu = new ManagementClass("win32_Processor");
                ManagementObjectCollection mocCpu = mcCpu.GetInstances();
                foreach (ManagementObject m in mocCpu)
                {
                    str = m["ProcessorId"].ToString();                //     Console.WriteLine(m.GetText(TextFormat.Mof));  
                }            return str;
            }        /// <summary>
            /// get HardDisc Number
            /// </summary>
            /// <returns></returns>
            public static string GetHDID()
            {            string str = "";
                ManagementClass mcHD = new ManagementClass("win32_logicaldisk");
                ManagementObjectCollection mocHD = mcHD.GetInstances();
                foreach (ManagementObject m in mocHD)
                {                // Console.WriteLine(m.GetText(TextFormat.Mof));
                    if (m["DeviceID"].ToString() == "C:")
                    {
                        str = m["VolumeSerialNumber"].ToString();
                        break;
                    }
                }            return str;        }        /// <summary>
            /// get MAC address like 00-2e-35-7b-fa-e1
            ///  </summary>
            /// <returns>48 bit MAC address</returns>
            public static string GetMacAddress()
            {
                string str = "";
                ManagementClass mcMAC = new ManagementClass("Win32_NetworkAdapterConfiguration");
                ManagementObjectCollection mocMAC = mcMAC.GetInstances();
                foreach (ManagementObject m in mocMAC)
                {
                    // Console.WriteLine(m.GetText(TextFormat.Mof));
                    if ((bool)m["IPEnabled"])
                    {
                        str = m["MacAddress"].ToString();
                        break;
                    }
                }            return str;        }
      

  4.   

    这些我也都看了看,但我想知道为什么不同电脑上显示的cpu id相同