vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Dateisystem · Laufwerke   |   VB-Versionen: VB4, VB5, VB601.11.00
Alle logischen Laufwerke ermitteln

Möchten Sie wissen, welche logischen Laufwerke auf dem System existieren, so können Sie diese mit der hier vorgestellten Routine ermitteln.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  30.383 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

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.383 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(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.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel