Rubrik: Dateisystem · Laufwerke | VB-Versionen: VB6 | 16.06.01 |
Alle Laufwerke eines bestimmten Typs ermitteln Dieser Tipp zeigt, wie sich alle vorhandenen Laufwerke eines bestimmten Laufwerktyps ermitteln lassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 22.108 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Dieser Tipp zeigt, wie sich alle vorhandenen Laufwerke eines bestimmten Laufwerktyps ermitteln lassen. So lassen sich z.B. ganz schnell alle vorhandenen CD-Laufwerke bestimmen - sei es ein normales CD-ROM Laufwerk, ein CD-Brenner oder auch ein DVD-Laufwerk. Die Funktion GetAllDrives liefert einen String zurück, welcher die Laufwerksbuchstaben enthält, z.B. CDF. Als Parameter übergeben Sie der Funktion den Laufwerkstyp, z.B. DRIVE_CDROM. Wird kein Parameter angegeben, so erhalten Sie die Laufwerksbuchstaben aller Laufwerks-Typen.
' zunächst die benötigten API-Deklarationen Private Declare Function GetLogicalDriveStrings Lib "kernel32" _ Alias "GetLogicalDriveStringsA" ( _ ByVal nBufferLength As Long, _ ByVal lpBuffer As String) As Long Private Declare Function GetDriveType Lib "kernel32" _ Alias "GetDriveTypeA" ( _ ByVal nDrive As String) As Long Public Const DRIVE_REMOVABLE = 2 Public Const DRIVE_FIXED = 3 Public Const DRIVE_REMOTE = 4 Public Const DRIVE_CDROM = 5 Public Const DRIVE_RAMDISK = 6 ' Alle Laufwerke eines bestimmten Typs ermitteln ' z.B. CD-ROM Laufwerke Function GetAllDrives(Optional ByVal DriveType As _ Long = 0) As String Dim I As Integer Dim Result As Long Dim Drives() As String Dim Dummy As String Dim sDrives As String Dummy = Space(255) Result = GetLogicalDriveStrings(Len(Dummy), Dummy) Drives = Split(Dummy, Chr$(0)) For I = 0 To UBound(Drives) - 1 If GetDriveType(Drives(I)) = DriveType Or _ DriveType = 0 Then sDrives = sDrives & Left$(Drives(I), 1) End If Next I GetAllDrives = sDrives End Function
Beispiele
Dim sDrives As String ' Ermitteln aller Disketten-/ZIP-Laufwerke sDrives = GetAllDrives(DRIVE_REMOVABLE) ' Ermitteln aller Festplatten-Laufwerke sDrives = GetAllDrives(DRIVE_FIXED) ' Ermitteln aller Netz-Laufwerke sDrives = GetAllDrives(DRIVE_REMOTE) ' Ermitteln aller CD-Laufwerke sDrives = GetAllDrives(DRIVE_CDROM) ' Ermitteln ALLER Laufwerke sDrives = GetAllDrives()