CPU 序列号读取,发现大部分CPU都一个序列号嘛
本帖最后由 朽木大师 于 2012-8-30 12:09 编辑BFEBFBFF000206A7
BFEBFBFF0001067A
发现基本上都是一样的,换几台电脑试了,均就这种号,没区别
方法一
(defun test()
(setq wmi (vlax-create-object "WbemScripting.SWbemLocator"))
(setq meth1 (vlax-invoke-method wmi 'ConnectServer nil nil nil nil nil nil nil nil ))
(setq meth2 (vlax-invoke-method meth1 'ExecQuery "Select * from Win32_Processor" nil nil nil ))
(vlax-for n meth2
(print (vlax-get n 'name))
(print (vlax-get n 'ProcessorId))
)
(princ)
)
方法二
;;不明出处
(defun CPU (/ Vlist VObj lcom lExecQuery item)
(vl-load-com)
(setq Vlist '())
(if (setq VObj (vlax-create-object "wbemscripting.swbemlocator"))
(progn
(SETQ lcom (VLAX-INVOKE
VObj 'ConnectServer "."
"\\root\\cimv2""" ""
"" ""128 nil
) ;_ 结束VLAX-INVOKE
) ;_ 结束SETQ
(setq lExecQuery
(vlax-invoke
lcom
'ExecQuery
;;"Select * From Win32_BIOS"
"Select * from Win32_Processor"
) ;_ 结束vlax-invoke
) ;_ 结束setq
(vlax-for item lExecQuery
(setq Vlist (vlax-get item 'ProcessorId) ;_ 结束cons
) ;_ 结束setq
) ;_ 结束vlax-for
(vlax-release-object lExecQuery)
(vlax-release-object lcom)
(vlax-release-object Vobj)
)
)
Vlist
)
应该读出的不是CPU序列号,cpu号是唯一的。
我以前用vba写,也遇到过类型问题,读出的序列号就那么几个。当时还没发现,结果搞了一个毫无意义的软件注册。 我看了一下论坛写的,这些读CPU的,均是这两个号,看样子很假的 http://hi.baidu.com/wukongafei/blog/item/25e7bb265e6fc41e8a82a188.html
http://topic.csdn.net/t/20030227/16/1473962.html
请楼主参见这两个帖子的讨论。
我想,大家已经弄错了一个概念,CPUID 和 CPU序列号!
CPUID如果相同的话,只能说明这两个CPU是同一类的(同一类,允许不相同!)
简单的CPUID是由Type,Model level,Family level和Stepping level组成
少量可以取到,reallike的第二个回复就是取IntelCPU序列号的方法~~~
不过由于有安全隐患,很多可以取到序列号的CPU也可以利用主版提供的功能屏蔽掉 改成读网卡 read both cpuid and mac address
页:
[1]