不知道你是否要获得网络驱动器的VolumeSerialNumber,在95/98下该函数是不会返回
VolumeSerialNumber的。

解决方案 »

  1.   

    to :TechnoFantasy
    不要获得网络驱动器的VolumeSerialNumber,
    那如何在95/98下获得VolumeSerialNumber?多谢指教
      

  2.   

    你的代码我在2000下试了,没有问题,我估计是Win98对这个参数不支持。
      

  3.   

    '试一下这个!把这个放入一个类模块中
    Public 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
    Public Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTotalNumberOfClusters As Long) As Long
    Public Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER, lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER) As Long
    Public Type LARGE_INTEGER ' 8 Bytes
    lowpart As Long
    highpart As Long
    End Type
    Public Type DiskInfo
           DiskInfo_Volume As String * 255 '卷标
           DiskInfo_Number As Long '硬盘标记
           DiskInfo_LongFileName As Long '最大文件名长
           diskinfo_zipdiskflag As Long '压缩盘标记
           DiskInfo_FatType As String * 255 '文件分配表类型
           DiskInfo_SectorsPerCluster As Long '每簇扇区数
           DiskInfo_BytesPerSector As Long '每扇区字节数
           DiskInfo_NumberOfFreeClusters As Long '磁盘剩余簇数
           DiskInfo_TotalClusters As Long '磁盘簇数
    End Type
    Public Function GetDiskInfo(Driver As String) As DiskInfo
    Dim TmpInfo As DiskInfo
    Dim MReturn As LongWith TmpInfo
         
    MReturn = GetVolumeInformation(Driver, .DiskInfo_Volume, 255, .DiskInfo_Number, .DiskInfo_LongFileName, .diskinfo_zipdiskflag, .DiskInfo_FatType, 255)end with
    end sub