Здравствуйте.
Необходимо найти список всех активных дисков через 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.
Как исправить ошибки?
Заранее спасибо.