标题: 取得磁碟机之Volumn及Serial Number
ljjk5
元帅
Rank: 1


荣誉会员奖章
UID 46706
精华 1
积分 99426
帖子 49690
威望 554
金币 48489
热心 505
阅读权限 100
注册 2007-2-25
状态 离线
取得磁碟机之Volumn及Serial Number

适用ACCESS97、2000

 这两项磁碟机资料须使用API函数方可取得,代码如下:
Private 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

Function GetVolumn(X As String) As String
    If Len(X) < 3 Then
        X = Left(X, 1) & ":\"
    Else
        X = Left(X, 3)
    End If
    Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
    Dim VolFlags As Long, VolFileSys As String
    VolName = Space$(256)
    VolFileSys = Space$(256)
    nRet = GetVolumeInformation(X, VolName, Len(VolName), _
            VolSN, MaxCompLen, VolFlags, _
            VolFileSys, Len(VolFileSys))
    If nRet = 1 Then
        GetVolumn = VolName
    Else
        GetVolumn = ""
    End If
End Function

Function GetNumber(X As String) As String
    If Len(X) < 3 Then
        X = Left(X, 1) & ":\"
    Else
        X = Left(X, 3)
    End If
    Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
    Dim VolFlags As Long, VolFileSys As String
    VolName = Space$(256)
    VolFileSys = Space$(256)
    nRet = GetVolumeInformation(X, VolName, Len(VolName), _
            VolSN, MaxCompLen, VolFlags, _
            VolFileSys, Len(VolFileSys))
    If nRet = 1 Then
        GetNumber = VolSN
    Else
        GetVolumn = ""
    End If
End Function

前面的Declare陈述式宣告一个API函数(GetVolumeInformation),可取得磁碟机的两项资料。   

网友 ljjk5 签名 - 网友社区 ===
顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-14 04:14
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP