![]() ![]() |
|
取得磁碟机之Volumn及SerialNumberaccess教程 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:55:47 文章录入:杜斌 责任编辑:杜斌 | |
|
|
这两项磁碟机资料须使用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),可取得磁碟机的两项资料。 |
|
![]() ![]() |