04. november 2003 - 17:34
Der er
2 kommentarer og
1 løsning
Oprette liste over lokale drev
Jeg vil gerne kunne lave en liste over alle lokale drev.
Måske via DriveListBox.
Jeg vil altså gerne have sorteret alle eventuelle netværksdrev fra, samt CD-ROM drev.
Kan det lade sig gøre?
/Søren
04. november 2003 - 23:00
#1
'----------------------------------------- Form1 -----------------------------------------
Option Explicit
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" ( _
ByVal nDrive As String) As Long
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" ( _
ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Public Sub GetDrives(ByRef arrDrives() As String)
Dim i As Integer
Dim j As Integer
Dim strOne As String
Dim strOut As String
Dim strDrives As String * 255
strDrives = Left$(strDrives, GetLogicalDriveStrings(255, strDrives))
ReDim arrDrives(0) As String
For i = 1 To Len(strDrives)
strOne = Mid$(strDrives, i, 1)
Select Case strOne
Case "A" To "Z", "a" To "z", ":"
strOut = (strOut & strOne)
Case "\"
ReDim Preserve arrDrives(j) As String
arrDrives(j) = (strOut & strOne)
j = j + 1: strOut = ""
End Select
Next
End Sub
Private Sub Form_Load()
Dim i As Integer
Dim strType As String
Dim arrDrive() As String
Call GetDrives(arrDrive)
For i = 0 To UBound(arrDrive)
Select Case GetDriveType(arrDrive(i))
Case 2: strType = "Removable"
Case 3: strType = "Drive Fixed"
Case 4: strType = "Remote"
Case 5: strType = "CD-ROM"
Case 6: strType = "RAM disk"
Case Else: strType = "Unrecognized"
End Select
List1.AddItem arrDrive(i) & " " & strType '<- her kommer det ud i (List1)
Next
End Sub
'----------------------------------------- Form1 -----------------------------------------
04. november 2003 - 23:30
#2
(sorteret alle eventuelle netværksdrev fra, samt CD-ROM drev)
Private Sub Form_Load()
Dim i As Integer
Dim strType As String
Dim arrDrive() As String
Call GetDrives(arrDrive)
For i = 0 To UBound(arrDrive)
Select Case GetDriveType(arrDrive(i))
Case 2: strType = "Removable" '<- A:\ og B:\
Case 3: strType = "Drive Fixed" '<- C:\ osv...
End Select
List1.AddItem arrDrive(i) & " " & strType '<- her kommer det ud i (List1)
Next
End Sub