Möchten Sie wissen, welche logischen Laufwerke auf dem System existieren, so können Sie diese mit nachfolgender Routine ermitteln. Zusätzlich zu den Laufwerksbuchstaben wird noch der Typ des Laufwerks ermittelt (Festplatte, Diskette, Netzlaufwerk, ...). Hier der Quellcode: ' Zunächst die benötigten API-Deklarationen Declare Function GetDriveType Lib "kernel32" _ Alias "GetDriveTypeA" ( _ ByVal nDrive As String) As Long Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long,_ ByVal lpBuffer As String) As Long ' Konstanten: Laufwerks-Typen Const DRIVE_REMOVABLE = 2 Const DRIVE_FIXED = 3 Const DRIVE_REMOTE = 4 Const DRIVE_CDROM = 5 Const DRIVE_RAMDISK = 6 ' Die nachfolgende Routine ermittelt anhand des ' Laufwerkbuchstabens den Typ des Laufwerks im Klartext Public Function LaufwerksTyp(ByVal Drive As String) As String ' Der Parameter Drive gibt das Laufwerk an ' z.B. A:, C:, ... Dim lType As Long lType = GetDriveType(Drive) Select Case lType Case DRIVE_REMOVABLE LaufwerksTyp = "Wechseldatenträger" Case DRIVE_FIXED LaufwerksTyp = "Festplatte" Case DRIVE_REMOTE LaufwerksTyp = "Netzlaufwerk" Case DRIVE_CDROM LaufwerksTyp = "CD-ROM" Case DRIVE_RAMDISK LaufwerksTyp = "RAM-Disk" End Select End Function ' Die nachfolgende Routine ermittelt alle verfügbaren Laufwerke ' und die dazugehörigen Laufwerkstypen Private Sub GetAllDrives() Dim sBuffer As String * 255 Dim sDrives As String Dim lResult As Long Dim sDrive As String Dim sPos As Integer lResult = GetLogicalDriveStrings(Len(sBuffer), sBuffer) sDrives = Left$(sBuffer, lResult) While Len(sDrives) > 0 sPos = InStr(sDrives, Chr$(0)) sDrive = Left$(sDrives, sPos - 1) sDrives = Mid$(sDrives, sPos + 1) Debug.Print Left$(sDrive, 2);" [";LaufwerksTyp(sDrive);"]" Wend End Sub Dieser Tipp wurde bereits 30.642 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array sevGraph (VB/VBA) ![]() Grafische Auswertungen Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |