主题:在VFP6.0中如何获取本计算机的序列号
qbqb_2003
[专家分:0] 发布于 2009-08-05 21:23:00
请教各位高手,在VFP6.0中如何获取本计算机的序列号
回复列表 (共5个回复)
沙发
ihorse [专家分:970] 发布于 2009-08-06 16:31:00
你要的是什么的序列号?硬盘?主板?建议你直接调用mydll.fll扩展库中的函数;如果要自己写,可能需要用到API
板凳
qbqb_2003 [专家分:0] 发布于 2009-08-06 20:47:00
1楼
硬盘、主板都可以,用什么函数?具体怎么用请告诉我,谢谢!!
3 楼
qbqb_2003 [专家分:0] 发布于 2009-08-06 20:48:00
1楼
硬盘、主板都可以,用什么函数?具体怎么用请告诉我,谢谢!!
4 楼
ihorse [专家分:970] 发布于 2009-08-07 21:03:00
函数名:GetDiskSerial([nDriveIndex])
缩写:GetD
读取指定硬盘的序列号。注意:部分硬盘可能没有序列号。支持Win95、98、Me、NT、2000、XP、2003,支持User权限,支持IDE、SATA、SCSI硬盘及部分移动硬盘。
返回值:
字符串,成功读取返回硬盘序列号,否则返空值。
参数:
[nDriveIndex]:可选。第x个硬盘,可用值为1-X,
默认值为1,即第一块硬盘。如果只有一块硬盘,即可省略此参数。
示例代码
Set Library To myFll
?"第一块硬盘序列号为:"+GetDiskSerial()
?"第二块硬盘序列号为:"+GetDiskSerial(2)
Set Library To
函数名:GetCpuId()
缩写:GetC
读取CPU的序列号,注意,部分CPU可能无法读取序列号
返回值:
字符型,CPU的序列号
参数:
无
示例代码
Set Library To myFll
?"你的CPU为:"+GetCpuId()
Set Library To
函数名:GetMAC([nIndex])
缩写:getma
获取网卡的MAC地址。注意,只能读取活动网卡的MAC,如果网卡被禁用,可能无法读取
返回值:
字符型,网卡的MAC地址,如果指定的网卡不存在,或读取失败,返回空值
参数:
[nIndex]: 整型,可选,第几个网卡,默认为1
示例代码
Set Library To myFll
?GetMAC()
?GetMAC(1)
?GetMAC(2)
Set Library To
5 楼
liupeisong [专家分:2340] 发布于 2009-08-08 01:40:00
**VFP读CPU序号、硬盘序号、网卡MAC地址
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
我来回复