nik_neman
@nik_neman
php-junior

Найти список всех активных дисков через GetLogicalDriveStrings?

Здравствуйте.
Необходимо найти список всех активных дисков через GetLogicalDriveStrings. Нашёл вот такой вот код в nete:
Public Class Form1
    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
        ListBox1.Clear()
        pos = 1
        Do While Not Mid$(drives, pos, 1) = Chr(0)
            drive = Mid$(drives, pos, 3)
            pos = pos + 4
            ListBox1.AddItem(UCase(drive))
        Loop
    End Sub
End Class

Но появляются вот такие ошибки:
Ошибка 1 "String" является типом класса и не может использоваться как выражение. C:\Users\vilen\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 9 21 WindowsApplication1
Ошибка 2 Требуется "." C:\Users\vilen\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 9 27 WindowsApplication1
Ошибка 3 "Clear" не является членом "System.Windows.Forms.ListBox". C:\Users\vilen\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 32 9 WindowsApplication1
Ошибка 4 "AddItem" не является членом "System.Windows.Forms.ListBox". C:\Users\vilen\AppData\Local\Temporary Projects\WindowsApplication1\Form1.vb 37 13 WindowsApplication1
Использую Visual Basic 2010.
Как исправить ошибки?
Заранее спасибо.
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы