DriveListBox控件已经封装起来,在其基础上不可能实现,现有方法三一、仍然使用DriveListBox控件,但访问到不想要的驱动器时,显示出错信息二、使用Microsoft Common Control中的ImageCombo控件,加入磁盘图标,载入可能存在的磁盘,通过该办法可实现你想要的,但需要编程~  没有免费的~还有一种~~ 等一下

解决方案 »

  1.   

    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自己写一个把
    把不要的过滤掉
      

  2.   

    或者土办法,呵呵
    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