[求助]获得首枚CPU的序列号函数的问题
本帖最后由 作者 于 2008-10-28 18:48:20 编辑 <br /><br /> <p>最近在论坛发现这个函数,在其中一台电脑里面读取不了cpu的序列号,然后重新安装的系统又可以,都是在另外一台电脑重新安装系统也读取不了,请问这个函数是用了系统的什么软件或者函数,能否重新安装那个软件?</p><p></p><p></p><p></p><p>;; cpuid=获得首枚CPU的序列号。by lxx.2007<br/>;; 函数用法→(cpuid) -> "078BFBFF00000F7A"<br/>(defun cpuid (/ str)<br/> (setq str<br/> "Set objSWbemObject = GetObject(\"winmgmts:Win32_Processor.DeviceID='cpu0'\")<br/> ret = objSWbemObject.ProcessorId<br/> 'msgbox \"首枚CPU序列号:\" & ret" )<br/> (if (not *wsc)(setq *wsc (vlax-create-object "ScriptControl")))<br/> (vlax-put *wsc 'language "vbs")<br/> (vlax-invoke *wsc 'ExecuteStatement str)<br/> (vlax-invoke *wsc 'eval "ret")<br/>)</p> (defun test()(vl-load-com)
(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)
) f224 发表于 2010-7-3 14:40
错误: no function definition: VLAX-CREATE-OBJECT
提示以上的错误,,是不是要先加载什么的,请 ...
(vl-load-com)这个是必须的,对于vlax开头的函数 <p>怎末没有知道码?</p><p></p> <p>要撞 vbs</p> <p>可能需要管理员身份才可以取得CPU的序列号</p> <p>怎末没有知道码?</p> <p>顶出知道的人</p> 请列出出错的情况 <p>我也用这个函数试过,居然我办公室的电脑和我家的一模一样,是这个函数有问题还是我的CPU是水货?我的电脑是今年3月份才配的E2200,而办公室的是奔四1.8G的,我真是不解,有谁知道答案么?</p> 本帖最后由 作者 于 2008-12-17 22:12:19 编辑 <br /><br /> <p>用正规的做法好些</p><p>(defun test()<br/> (setq wmi (vlax-create-object "WbemScripting.SWbemLocator"))<br/> (setq meth1 (vlax-invoke-method wmi 'ConnectServer nil nil nil nil nil nil nil nil ))<br/> (setq meth2 (vlax-invoke-method meth1 'ExecQuery "Select * from Win32_Processor" nil nil nil ))<br/> (vlax-for n meth2<br/> (print (vlax-get n 'name))<br/> (print (vlax-get n 'ProcessorId))<br/> )<br/> (princ)<br/>)</p> <p><font face="Verdana">错误: no function definition: VLAX-CREATE-OBJECT</font></p>
<p> </p>
<p>提示以上的错误,,是不是要先加载什么的,请指教下</p>
页:
[1]
2