回 帖 发 新 帖 刷新版面

主题:在VFP6.0中如何获取本计算机的序列号

请教各位高手,在VFP6.0中如何获取本计算机的序列号

回复列表 (共5个回复)

沙发

你要的是什么的序列号?硬盘?主板?建议你直接调用mydll.fll扩展库中的函数;如果要自己写,可能需要用到API

板凳

1楼 
硬盘、主板都可以,用什么函数?具体怎么用请告诉我,谢谢!!

3 楼

1楼 
硬盘、主板都可以,用什么函数?具体怎么用请告诉我,谢谢!!

4 楼

函数名: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 楼

**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   
 
 

我来回复

您尚未登录,请登录后再回复。点此登录或注册