朽木大师 发表于 2012-8-30 12:09:04

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
)

fanny_6 发表于 2012-8-30 15:30:57

应该读出的不是CPU序列号,cpu号是唯一的。
我以前用vba写,也遇到过类型问题,读出的序列号就那么几个。当时还没发现,结果搞了一个毫无意义的软件注册。

朽木大师 发表于 2012-8-30 15:37:01

我看了一下论坛写的,这些读CPU的,均是这两个号,看样子很假的

highflybir 发表于 2012-8-30 16:04:56

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也可以利用主版提供的功能屏蔽掉

朽木大师 发表于 2012-8-30 16:13:00

改成读网卡

xjf 发表于 2022-7-3 10:32:41

read both cpuid and mac address
页: [1]
查看完整版本: CPU 序列号读取,发现大部分CPU都一个序列号嘛