DriveListBox控件已经封装起来,在其基础上不可能实现,现有方法三一、仍然使用DriveListBox控件,但访问到不想要的驱动器时,显示出错信息二、使用Microsoft Common Control中的ImageCombo控件,加入磁盘图标,载入可能存在的磁盘,通过该办法可实现你想要的,但需要编程~ 没有免费的~还有一种~~ 等一下
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long Private Sub Form_Load() Dim sBuffer As String Dim sDriver As String
sBuffer = String(255, Chr(0)) ret& = GetLogicalDriveStrings(255, sBuffer) For keer = 1 To 100 If Left(sBuffer, InStr(1, sBuffer, Chr(0))) = Chr(0) Then Exit For sDriver = Left(sBuffer, InStr(1, sBuffer, Chr(0)) - 1) cboDriver.AddItem sDriver sBuffer = Right(sBuffer, Len(sBuffer) - InStr(1, sBuffer, Chr(0))) Next keer End Sub自己写一个把 把不要的过滤掉
或者土办法,呵呵 Private Sub drv_Change() If drv.ListIndex = 0 Or drv.ListIndex = drv.ListCount - 1 Then drv.ListIndex = -1 MsgBox "N/A" End If End Sub
Private Sub Form_Load()
Dim sBuffer As String
Dim sDriver As String
sBuffer = String(255, Chr(0))
ret& = GetLogicalDriveStrings(255, sBuffer)
For keer = 1 To 100
If Left(sBuffer, InStr(1, sBuffer, Chr(0))) = Chr(0) Then Exit For
sDriver = Left(sBuffer, InStr(1, sBuffer, Chr(0)) - 1)
cboDriver.AddItem sDriver
sBuffer = Right(sBuffer, Len(sBuffer) - InStr(1, sBuffer, Chr(0)))
Next keer
End Sub自己写一个把
把不要的过滤掉
Private Sub drv_Change()
If drv.ListIndex = 0 Or drv.ListIndex = drv.ListCount - 1 Then
drv.ListIndex = -1
MsgBox "N/A"
End If
End Sub