豹子 2007-6-23 09:47
取得磁碟机之Volumn及Serial Number
适用ACCESS97、2000
0Y\7PjpU1m&oGDH
kyxv+w5a
这两项磁碟机资料须使用API函数方可取得,代码如下:L8j;Z+s%~
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!x/{/c? t2v
(n8cl
u
M
`
Function GetVolumn(X As String) As String
7u+r!xQ5`'Z6AJ~ D
If Len(X) 3 Then,S&c&V6EP0v
X = Left(X, 1) ":\"5Vt aC,?
G z1c
Else2j+O"i
yWM7m
X = Left(X, 3)
Z/E%z)YM:f)c
End If
M2PP0_$MY
Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
Oz5?[(G^,G1r4O b2j2w
Dim VolFlags As Long, VolFileSys As String
+x?k"s|;S,o\6~
VolName = Space$(256)8}R4n/FGG
VolFileSys = Space$(256)"KR,s#}+WkZ+]b
nRet = GetVolumeInformation(X, VolName, Len(VolName), _
3J7k Dhgg
VolSN, MaxCompLen, VolFlags, _
})Sj_Y.~
yM
VolFileSys, Len(VolFileSys))
Q+g9|m(c3c R
If nRet = 1 Then
d_J q$n
GetVolumn = VolName(Zuo?G7v
Else
2r?-xH_8P|
GetVolumn = ""
FP4Yt#P
End IfY#BV_n,S&H
End Function
iA8Q"S;CqQ
R8v@?|
Function GetNumber(X As String) As StringB?*TQ;Y
If Len(X) 3 Then
8K2c3b!gXv%ya
X = Left(X, 1) ":\"
9T2}W#mY1E
Else8l|d1u5Zpfa*^6hG
X = Left(X, 3)F%qjdpF;T7Q$l
End If&rsc
A]5c8e-@5[
s,V
Dim nRet As Long, VolName As String, VolSN As Long, MaxCompLen As Long
{%aQCgk8[
Dim VolFlags As Long, VolFileSys As String
K-w*C+U(i|rj-Tyt
VolName = Space$(256)
+z;P4Jf4|@7R
VolFileSys = Space$(256)0Ak
Ew)B{6F;z2i5ej
nRet = GetVolumeInformation(X, VolName, Len(VolName), _
:Uu3O:Q.w1I
VolSN, MaxCompLen, VolFlags, _