双核CPU出来了,如何取CPU序列号呢(100分)

  • 主题发起人 主题发起人 dbgg
  • 开始时间 开始时间
顶起来...................
 
to:masm 这个放心,肯定有新的汇编代码来得到双核的ID和序列号~~~
不要着急~~~

有你就说出来啊,老大。我就是急呢。
 
首先需要说明,CPU的唯一的序列号只有PIII才有,Intel在PIII以后的处理器,包括P4...就取消了,请参阅Intel官方网站的白皮书。若要获取CPIID(同一型号CPU的CPUID相同),据我的经验,我认为应该与以前单核的方式相同,依然是向EAX寄存器送1h,然后分析返回的EAX寄存器中的数据即可。不过我目前手里面还没有双核的CPU,故没有测试过。
 
如果是网络程序,读取网卡mac地址做key如何?
 
大家动用过FOXMAIL,用Delphi做这个软件要实现添加账户的功能,当添加账户的时候就需要在我用的Access里面自动建立一个表,如不需要添加账户则不在Access中建表,请问这个用Delphi的编程语言怎么实现?
 
别老跑题啊。
 
mac 可以改的估计不太好吧!
 
yang6130的建议就不错啊,以主板+硬盘或CPU二选一符合者即通过验证,这样即兼容了老版本软件的用户,又可保证双核或者四核用户的正常使用.

//来自:yang6130, 时间:2006-4-10 18:04:03, ID:3410430
那为什么一定要取CPU呢,我一直取主板+硬盘的,也很好呀。
==========================================================
可以考虑降低验证精度,以主板+硬盘或CPU二选一符合者即通过验证
 
楼主没试过我给的建议吗?
 
我的做法:需要取CPU ID时,短时间里连续开40个线程,根据各个线程取得的CPUID来处理,这个方法自己测试了几十次,还没有取不到多个CPUID的情况。

局限性:如果别人在虚拟机中运行,比如VMWARE中,则每次只是取到了其中的一个CPUID。

但是根据观察得到的规律,两个CPUID实际上都只是在特定的位上有区别,所以每次取得了CPUID后,去掉这些特定位上的值再作为最后的CPUID来用。
 

Similar threads

后退
顶部