莫名 发表于 2003-12-16 22:21:00

1 获得的是硬盘逻辑序列号,不同的逻辑分区得到的值不同!
2 重新分区或格式化后都会变!
3 获得的值位数,硬盘一般是9位数。
网上有一个获得物理硬盘的序列号的程序,你自己搜索一下。

yfy2003 发表于 2003-12-16 22:49:00

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 Long

Dim sDriveLetter As String
    Dim RetVal As Long
    Dim lpName As String
    Dim nSize As Long
    Dim lpMaxComp As Long
    Dim nFileFlags As Long
    Dim lpFileName As String
    lpName = Space(255)
    lpFileName = Space(255)
    nSize = 255
   
    sDriveLetter = "C:\"
RetVal = GetVolumeInformation(sDriveLetter, lpName, nSize, nSerial, lpMaxComp, nFileFlags, lpFileName, nSize)
         
    nSerial是硬盘逻辑序列号。和关大将军的是相同的。

mikewolf2k 发表于 2003-12-16 22:57:00

莫大,你先前那个链接也是逻辑序列号吗?!不要让我空欢喜一场..........................

莫名 发表于 2003-12-16 23:00:00

不!是物理序列号!

mikewolf2k 发表于 2003-12-17 18:20:00

莫大,怎么用啊?????????????????????
谢.......................泄..................

wenmaokun 发表于 2009-10-10 17:24:00

cxvgfsdgdtgreter
页: 1 [2]
查看完整版本: 用vb获得硬盘序列号