Главная страницаОбратная связьКарта сайта

Получение имен всех логических дисков



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

Private Function GetDriveStrings() As String
Dim result As Long ' Result of our api calls
Dim strDrives As String ' String To pass To api Call
Dim lenStrDrives As Long ' Length of the above String

result = GetLogicalDriveStrings(0, strDrives)
strDrives = String(result, 0)
lenStrDrives = result
result = GetLogicalDriveStrings(lenStrDrives, strDrives)
If result = 0 Then
GetDriveStrings = ""
Else
GetDriveStrings = strDrives
End If
End Function

Private Sub Command1_Click()
Dim strDrives As String

strDrives = GetDriveStrings()
If strDrives = "" Then
MsgBox "No Drives were found!", vbCritical
Else
DisplayDriveTypes strDrives
End If
End Sub

Private Sub DisplayDriveTypes(drives As String)
Dim pos As Long
Dim drive As String

List1.Clear
pos = 1
Do While Not Mid$(drives, pos, 1) = Chr(0)
drive = Mid$(drives, pos, 3)
pos = pos + 4
List1.AddItem UCase(drive)
Loop
End Sub


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Получение имен всех логических дисков", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2017 Дискета.info