Option ExplicitPrivate Const MAX_PATH = 260Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As LongPrivate Sub Command1_Click()
 Dim lpVolumeNameBuffer As String
 Dim lpVolumeSerialNumber As Long
 Dim lpMaximumComponentLength As Long
 Dim pFileSystemFlags As Long
 Dim lpFileSystemNameBuffer As String
 Dim ret As Long
  
 lpVolumeNameBuffer = Space(MAX_PATH + 1)
 lpFileSystemNameBuffer = Space(MAX_PATH + 1)
 ret = GetVolumeInformation("c:\\", lpVolumeNameBuffer, MAX_PATH + 1, lpVolumeSerialNumber, lpMaximumComponentLength, pFileSystemFlags, lpFileSystemNameBuffer, MAX_PATH + 1)
 If ret <> 0 Then
 Me.Caption = CStr(lpVolumeSerialNumber)
 End If
End Sub
这是一个读硬盘序列的例子,我用六台机器做实验,其中五台机器得到的序列号是一样的:706545925,只有一台是-71*****.这是为什么呢?另外,为什么要做这两步 lpVolumeNameBuffer = Space(MAX_PATH + 1)
 lpFileSystemNameBuffer = Space(MAX_PATH + 1)??

解决方案 »

  1.   

    大概你公司的许多机器都是用 Ghost 程序 Copy 的系统。
      

  2.   

    Window API 返回的序列号不是真正硬盘的厂商给的,要获得真实的序列号比较麻烦,在加密解密的一本书上看到过,你去找找吧.不是简单的调用几个API就能得到的
      

  3.   

    2楼正解。
    GetVolumeInformation并不能得到硬件的序列号。
    它得到的只是硬盘格式化后生成的一个信息。
    用相同的参数格式化硬盘,用这个函数就能得到相同的结果。
      

  4.   

    帮你顶
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  5.   

    帮你顶
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  6.   

    帮你顶
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  7.   

    帮你顶
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html