vb如何得到硬盘各盘符名称?

来源:百度知道 编辑:UC知道 时间:2024/05/09 00:32:16
vb如何得到硬盘各盘符名称?
不用控件
我要得到全部硬盘盘符,并用数组表示
全部硬盘的,其它的不要

Const DRIVE_REMOVABLE = 2
Const DRIVE_FIXED = 3
Const DRIVE_REMOTE = 4
Const DRIVE_CDROM = 5
Const DRIVE_RAMDISK = 6

Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias _
"GetLogicalDriveStringsA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Private Declare Function GetDriveType Lib "kernel32" Alias _
"GetDriveTypeA" (ByVal nDrive As String) As Long

Private Sub Command1_Click()
Dim strMsg As String, i%, lng As Long, strDriver As String * 254, strD$

lng = GetLogicalDriveStrings(255, strDriver$) '得到所有盘符的字符串,并返回盘的数目lng

ReDim strDriveName(1 To lng) As String
Dim count As Integer

For i = 0 To lng / 4 - 1
strD$ = Mid$(strDriver$, i * 4 + 1, 3)
Select Case Val(GetDriveType(strD$))

Case DRIVE_REMOVABLE
strMsg = "可移动盘"
Case DRIVE_FIXED
strMsg