本帖最后由 sodisla 于 2013-05-30 16:05:19 编辑

解决方案 »

  1.   

    cpu ID现在肯定是唯一的。cpuid是一条汇编指令。可以取出cpu的相关信息。http://www.pconline.com.cn/pcedu/empolder/gj/vc/0508/691365.html这里有相关介绍。有个搞过c#嵌入汇编。。
      

  2.   

    不好意思,不知道是不是我理解错误,像上面caozhy版主所说的那样CPUID是很可能会重复,不知道您说的这个ID是不是一样的,能否解析下,谢谢…
      

  3.   

    我之前一个程序的做法是获取 cpuid 硬盘编号  网卡mac
    都加在一起算一台客户端授权。你cpuid相同  硬盘编号不见得相同吧。  硬盘编号也相同,网卡不会相同吧网卡也相同。  那你赢了
      

  4.   

    不好意思,不知道是不是我理解错误,像上面caozhy版主所说的那样CPUID是很可能会重复,不知道您说的这个ID是不是一样的,能否解析下,谢谢…cpu序列号是不可能重复的。硬盘编号与mac是可以改的。。
      

  5.   

    不好意思,不知道是不是我理解错误,像上面caozhy版主所说的那样CPUID是很可能会重复,不知道您说的这个ID是不是一样的,能否解析下,谢谢…cpu序列号是不可能重复的。硬盘编号与mac是可以改的。。
    那么就是说是CPU序列号是不可能重复而CPUID是很可能重复的 ,而网上的很多都是如下方式获取的应该是CPUID,不知道我理解对不对:            string strCpu = null;
                ManagementClass myCpu = new ManagementClass("win32_Processor");
                ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
                foreach (ManagementObject myObject in myCpuConnection)
                {
                    strCpu = myObject.Properties["Processorid"].Value.ToString();
                    break;
                }如果是这样,那么CPU序列号该怎么获取?谢谢…
      

  6.   

    汇编指令CPUID 这是一个汇编指令。。
    用来获取cpu的相关信息。这里详细点的介绍。你看一下。
    http://blog.csdn.net/xjtuse_mal/article/details/1539043
      

  7.   

    通过ManagementClass 这个获取的并不准确。这个只是系统的一个服务。这个服务所提供的信息有些是基于系统缓存在注册表里的值。
      

  8.   

    人家已经说了,只有部分英特尔公司的CPU是有不同的编号的。例如你找两个AMD的CPU看看编号是否重复?
      

  9.   

    这就是所说的嵌入式开发么?小弟不才,汇编看不懂,您就给我简单写个c#如何内嵌汇编指令CPUID,谢谢了…
      

  10.   

    人家已经说了,只有部分英特尔公司的CPU是有不同的编号的。例如你找两个AMD的CPU看看编号是否重复?
    不好意思,这方面的东西不太懂,在网上看了好多都是通过ManagementClass获取的,当然也不知道多少是复制粘贴的,后来看到上面的那篇帖子中,caozhy版主的回复才有此疑问…就这点而言,那就是说获取CPU序列号是没有意义的,那该怎么做,还望前辈指点…