VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 取得磁盘序列号、卷标和文件系统类型
发表评论(0)作者:, 平台:, 阅读:10056, 日期:2000-03-12
取得磁盘序列号、卷标和文件系统类型

磁盘序列号在每次软盘或硬盘格式化后都重新生成,并且不回重复。许多程序员用

此加密。其实

也可以修改该函数,可以得到磁盘卷标和文件系统类型信息。


声明:

Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias

"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal

lpVolumeNameBuffer

As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As

Long,

lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal

lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As

Long


代码:


Function GetSerialNumber(sRoot As String) As Long

Dim lSerialNum As Long

Dim R As Long

Dim sTemp1 As String, sTemp2 As String

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 中为 文件系统类型

End Function


用法:


当驱动器不存在时,函数返回 0。如果是个非根目录,也将返回 0:


lSerial = GetSerialNumber("c:\")