当前位置: 代码迷 >> VFP >> 怎么在WIN7上正确读出硬盘物理序列号
  详细解决方案

怎么在WIN7上正确读出硬盘物理序列号

热度:5249   发布时间:2013-02-26 00:00:00.0
如何在WIN7下正确读出硬盘物理序列号?
用木瓜的MyFll.fll控件在WIN7下大多数情况不能正确读出硬盘的物理序列号,请问有什么好的控件或语句能够解决此问题?

------解决方案--------------------------------------------------------
你上面这段获取的是 cpu 信息,要获取磁盘信息要将 Win32_Processor 改成 Win32_DiskDrive 类
vfp6 应该支持 on error 吧?
try 这段改成
cOldErr = on('error')
on error *
insert into GerInfo ...
on error &cOldErr

WMI 在很多情况下也获取不到正确的硬盘序列号
试试这个免费软件:http://www.winsim.com/diskid32/diskid32.exe
它通过尝试几种方法来获取序列号,看看在你的软硬件环境下是否可行。如果有管理员权限通常都没问题,不过这个软件也会尝试不需要管理员权限的几种方法。
把输出重定向到一个文本 diskid32.exe > aaa.txt,然后分析这个文本中的序列号字段

由于这个一个免费且开源的软件,如果你熟悉 c++ 的话,可以下载它的源程序,并做适当改写后直接用于 vfp
diskid32.cpp
diskid32.dsp
diskid32.dsw




------解决方案--------------------------------------------------------
探讨
以下语句可以成功读出硬盘序列号,但在WIN7下没有试验是否可行:
Local oWMI As Object,oLocal As Object,oHARDWARE As Object,object1 As Object,lcCPUID,LcMAC,lcHDID,lcSerial,lcIP
oWMI=Createobject("WbemScripting.SWbemLocator")
oLoca……
  相关解决方案