Option Explicit
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
(ByVal nDrive As String) As Long
'GetLogicalDriveStrings-->获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength As Long, ByVal lpBuffer As String) As LongPrivate Const DRIVE_REMOVABLE = 2
Private Const DRIVE_FIXED = 3
Private Const DRIVE_REMOTE = 4
Private Const DRIVE_CDROM = 5
Private Const DRIVE_RAMDISK = 6Private Sub Command1_Click()
Dim rtn As String
Dim AllDrives As String
Dim JustOneDrive As String
AllDrives = Space$(64) '设置缓冲
rtn = GetLogicalDriveStrings(Len(AllDrives), AllDrives) '调用函数得到包含所有驱动器的字符串
AllDrives = Left(AllDrives, rtn)
Do
rtn = InStr(AllDrives, Chr(0))
If rtn Then '若有的话
JustOneDrive = Left(AllDrives, rtn)
AllDrives = Mid(AllDrives, rtn + 1, Len(AllDrives))
rtn = GetDriveType(JustOneDrive) '检查驱动器类型
If rtn = DRIVE_CDROM Then '是CD-ROM
Label1.Caption = Left(UCase(JustOneDrive), 2) '给label1
Exit Do
End If
End If
Loop Until AllDrives = "" Or rtn = DRIVE_CDROM
Command1.Enabled = False
If Label1.Caption = "" Then
Label1.Caption = "没有发现光驱!"
End If
End Sub
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
xp电脑调整分区后盘符丢失的文件怎样寻回
UI
硬盘数据恢复 盘符不见 -
怎样修改windows server 2008 用户Profile的默认存储盘符
修改windows默认的用户Profile存放盘符
windows server 2008 Profile 重定向 其他盘符