VB取磁盘序列号卷标和文件系统类型
2006-02-27 11:38:51 来源:WEB开发网核心提示:声明:PRivateDeclareFunctionGetVolumeInformationLib"kernel32.dll"Alias"GetVolumeInformationA"(ByVallpRootPathNameAsString,ByVallpVolumeNameBuff
声明:
PRivateDeclareFunctionGetVolumeInformationLib"kernel32.dll"Alias"GetVolumeInformationA"(ByVallpRootPathNameAsString,ByVallpVolumeNameBufferAsString,ByValnVolumeNameSizeAsInteger,lpVolumeSerialNumberAsLong,lpMaximumComponentLengthAsLong,lpFileSystemFlagsAsLong,ByVallpFileSystemNameBufferAsString,ByValnFileSystemNameSizeAsLong)AsLong
代码:
FunctionGetSerialNumber(sRootAsString)AsLong
DimlSerialNumAsLong
DimRAsLong
DimsTemp1AsString,sTemp2AsString
strLabel=String$(255,Chr$(0))
注释:磁盘卷标
strType=String$(255,Chr$(0))
注释:文件系统类型一般为FAT
R=GetVolumeInformation(sRoot,strLabel,Len(strLabel),lSerialNum,0,0,strType,Len(strType))
GetSerialNumber=lSerialNum
注释:在strLabel中为磁盘卷标
注释:在strType中为文件系统类型
EndFunction
用法:
当驱动器不存在时,函数返回0。如果是个非根目录,也将返回0:
lSerial=GetSerialNumber("c:\")->
PRivateDeclareFunctionGetVolumeInformationLib"kernel32.dll"Alias"GetVolumeInformationA"(ByVallpRootPathNameAsString,ByVallpVolumeNameBufferAsString,ByValnVolumeNameSizeAsInteger,lpVolumeSerialNumberAsLong,lpMaximumComponentLengthAsLong,lpFileSystemFlagsAsLong,ByVallpFileSystemNameBufferAsString,ByValnFileSystemNameSizeAsLong)AsLong
代码:
FunctionGetSerialNumber(sRootAsString)AsLong
DimlSerialNumAsLong
DimRAsLong
DimsTemp1AsString,sTemp2AsString
strLabel=String$(255,Chr$(0))
注释:磁盘卷标
strType=String$(255,Chr$(0))
注释:文件系统类型一般为FAT
R=GetVolumeInformation(sRoot,strLabel,Len(strLabel),lSerialNum,0,0,strType,Len(strType))
GetSerialNumber=lSerialNum
注释:在strLabel中为磁盘卷标
注释:在strType中为文件系统类型
EndFunction
用法:
当驱动器不存在时,函数返回0。如果是个非根目录,也将返回0:
lSerial=GetSerialNumber("c:\")->
更多精彩
赞助商链接