DRIVELISTBOX VIA CODIGO
Olá. Alguém sabe como consigo criar um DriveListBox via código? sem ser baseado em um já existente?
Claro amigo, usando API, em um Form desenhe um botão e a área de código cole isso:
[/c]
Se desejar separar por tipo, apenas compare GetDriveType com as constantes relatadas em cima. Abraços...
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Const DRIVE_Unknown = 0 'Desconhecido
Private Const DRIVE_NoExists = 1 'Não existe
Private Const DRIVE_REMOVABLE = 2 'RemovÃÂÂvel
Private Const DRIVE_FIXED = 3 'Fixo
Private Const DRIVE_REMOTE = 4 'Rede
Private Const DRIVE_CDROM = 5 'CDRom
Private Const DRIVE_RAMDISK = 6 'Memória
[c]Private Sub Command1_Click()
Dim Drive As Integer, Nomes As String
Nomes = vbNullString
For Drive = 65 To 90
If GetDriveType(Chr(Drive) & ":\") > 1 Then
Nomes = Nomes & vbCrLf & Chr(Drive) & ":\"
End If
Next Drive
MsgBox "Os Drives existentes são:" & vbCrLf & Nomes
End Sub
[/c]
Se desejar separar por tipo, apenas compare GetDriveType com as constantes relatadas em cima. Abraços...
Ops tem um [c] a mais ali que o próprio site colocou... tire isso para não gerar erro... Abraços
'adicione um commandbotton e um listbox
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
'
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Sub Command1_Click()
Dim drvs As String * 260 'cria um buffer de 260 chrs nulos
GetLogicalDriveStrings Len(drvs), drvs 'coloca no drvs os drivers locais.
v = Split(drvs, Chr(0)) 'cria um split em cada chr(0)
'ex: c:\0d:\0e:\0000000000000
For i = 0 To UBound(v) 'para cada chr 0 no split v
If Not v(i) = "" Then List1.AddItem v(i) 'se não for nulo adiciona ao listbox
Next
End Sub
'
Tópico encerrado , respostas não são mais permitidas