主题:十余行代码读出你的硬盘、CPU及网卡序列号
lzguang
[专家分:1210] 发布于 2008-08-11 20:13:00
*!* 十余行代码读出你的硬盘、CPU及网卡序列号
*!* 如果是WIN98系统,将需要从 MSDN 下载并安 WMI
LOCAL oWMI AS OBJECT,oLocal AS OBJECT,oHARDWARE AS OBJECT,object1 AS OBJECT,lcCPUID,LcMAC,lcHDID,lcSerial
oWMI=CREATEOBJECT("WbemScripting.SWbemLocator")
oLocal=oWMI.ConnectServer(".", "root\cimv2")
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_Processor")
FOR EACH object1 IN oHARDWARE
lcCPUID=object1.Properties_('ProcessorId').VALUE
EXIT
ENDFOR
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_PhysicalMedia")
FOR EACH object1 IN oHARDWARE
lcHDID=object1.Properties_('SerialNumber').VALUE
EXIT
ENDFOR
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=1")
FOR EACH object1 IN oHARDWARE
LcMAC=object1.Properties_('MACAddress').VALUE
EXIT
ENDFOR
?'CPU序号:',lcCPUID
?'硬盘序号:',lcHDID
?'网卡MAC地址:',LcMAC
回复列表 (共29个回复)
11 楼
zhongjiamin [专家分:50] 发布于 2008-08-17 11:45:00
特别提醒:这里读取的不是硬盘的序列号,而是硬盘的型号,也就说同一厂家的同一型号的产品都相同。
其他两个可以用。
12 楼
lzguang [专家分:1210] 发布于 2008-10-09 18:37:00
伯乐少!!!
13 楼
rxwanfei [专家分:0] 发布于 2008-11-23 22:11:00
好东西!谢谢楼主分享!
14 楼
ckjing [专家分:10] 发布于 2009-08-31 22:47:00
好东西!谢谢楼主分享!
15 楼
hsw8208 [专家分:20] 发布于 2009-09-09 07:57:00
好东西,收藏了,不定什么时候就用到了,谢谢楼主这么无私!!!
16 楼
AtwillCm [专家分:450] 发布于 2009-09-09 11:15:00
这个东西不是有人早发了吗?
[url=http://bbs.pfan.cn/post-307523.html]http://bbs.pfan.cn/post-307523.html[/url]
17 楼
liupeisong [专家分:2340] 发布于 2009-09-10 23:15:00
[quote]这个东西不是有人早发了吗?
[url=http://bbs.pfan.cn/post-307523.html]http://bbs.pfan.cn/post-307523.html[/url][/quote]
虽然这个方法较早前就知道了,但我那个帖子是看最近有人拼命问人要什么DLL文件(MyFll.fll),所以干脆发一个只需要纯VFP源代码的。
事实上本贴时间还要早些,只是当时没有看到。
18 楼
北京惬意 [专家分:1330] 发布于 2009-09-12 15:55:00
[quote]特别提醒:这里读取的不是硬盘的序列号,而是硬盘的型号,也就说同一厂家的同一型号的产品都相同。
其他两个可以用。[/quote]
本人很在意这个问题,有请帖主或其他高人进一步解释为盼,在下不胜感激。
19 楼
liupeisong [专家分:2340] 发布于 2009-09-13 19:31:00
[quote]特别提醒:这里读取的不是硬盘的序列号,而是硬盘的型号,也就说同一厂家的同一型号的产品都相同。
其他两个可以用。[/quote]
这是乱说的,WMI功能很强大,当然可以取硬盘型号,但是楼主的代码确实是取硬盘的物理序列号的!如果要取硬盘型号只要稍微修改一下代码也是可以的。
20 楼
liupeisong [专家分:2340] 发布于 2009-09-13 19:46:00
读取硬盘型号的代码如下
**VFP硬盘型号
LOCAL oWMI AS OBJECT,oLocal AS OBJECT,oHARDWARE AS OBJECT,object1 AS OBJECT,lcHDINFO
oWMI=CREATEOBJECT("WbemScripting.SWbemLocator")
oLocal=oWMI.ConnectServer(".", "root\cimv2")
oHARDWARE=oLocal.ExecQuery("SELECT * FROM Win32_DiskDrive")
FOR EACH object1 IN oHARDWARE
lcHDINFO=object1.Properties_('Model').VALUE
EXIT
ENDFOR
?'硬盘型号:',lcHDINFO
我来回复