wappl
Grünschnabel
Hallo zusammen,
habe hier einen VB 6 Code zum Erkennen von Laufwerken und möchte den gerne in einen VB.net Code umschreiben.
Der Quellcode sieht so aus:
Bis hier habe ich es jetzt schon:
doch hier habe ich Probleme mit "Left":
Wie muss ich hier "Left" handhaben, damit er mir den "GetDriveType-Befehl" richtig macht?
Danke für eure Hilfe.
Gruss pastl
habe hier einen VB 6 Code zum Erkennen von Laufwerken und möchte den gerne in einen VB.net Code umschreiben.
Der Quellcode sieht so aus:
Code:
Option Explicit
' 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
Private Const DRIVE_REMOVABLE = 2
Private Const DRIVE_FIXED = 3
Private Const DRIVE_REMOTE = 4
Private Const DRIVE_CDROM = 5
Private Const DRIVE_RAMDISK = 6
' Alle Laufwerke eines bestimmten Typs ermitteln
' z.B. CD-ROM Laufwerke
Private 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
Private Sub Form_Load()
' Ermitteln aller CD-Laufwerke
Me.Print GetAllDrives(DRIVE_CDROM)
End Sub
Bis hier habe ich es jetzt schon:
Code:
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Integer, ByVal lpBuffer As String) As Integer
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Integer
' zunächst die benötigten API-Deklarationen
Private Const DRIVE_REMOVABLE As Short = 2
Private Const DRIVE_FIXED As Short = 3
Private Const DRIVE_REMOTE As Short = 4
Private Const DRIVE_CDROM As Short = 5
Private Const DRIVE_RAMDISK As Short = 6
' Alle Laufwerke eines bestimmten Typs ermitteln
' z.B. CD-ROM Laufwerke
Private Function GetAllDrives(Optional ByVal DriveType As Integer = 0) As String
Dim I As Short
Dim Result As Integer
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
doch hier habe ich Probleme mit "Left":
Code:
If GetDriveType(Drives(I)) = DriveType Or DriveType = 0 Then
sDrives = sDrives & Left(Drives(I), 1)
End If
Wie muss ich hier "Left" handhaben, damit er mir den "GetDriveType-Befehl" richtig macht?
Danke für eure Hilfe.
Gruss pastl
Zuletzt bearbeitet: