Es gibt eine API Deklaration, mit der man den Laufwerkstyp identifizieren kann. Leider nicht korrekt bei Diskettenlaufwerke oder Wechseldatenträger. Nachfolgender Tipp behebt dieses Problem: ' Benötigte API-Deklarationen Private Declare Function GetDriveType Lib "kernel32" _ Alias "GetDriveTypeA" ( _ ByVal nDrive As String) As Long Private Declare Function SHGetFileInfo Lib "shell32.dll" _ Alias "SHGetFileInfoA" ( _ ByVal pszPath As String, _ ByVal dwFileAttributes As Long, _ psfi As SHFILEINFO, _ ByVal cbFileInfo As Long, _ ByVal uFlags As Long) As Long Private Const MAX_PATH = 260 Private Const SHGFI_TYPENAME = &H400& Enum DriveTypes Unknown = 1 Removable = 2 HDD = 3 Network = 4 CDROM = 5 RamDisk = 6 Floppy35 = 7 Floppy525 = 8 End Enum Private Type SHFILEINFO hIcon As Long iIcon As Long dwAttributes As Long szDisplayName As String * MAX_PATH szTypeName As String * 80 End Type Private Function GetFileDescription( _ ByVal Filename As String) As String Dim SHInfo As SHFILEINFO Dim lPos As Long SHGetFileInfo Filename, 0, SHInfo, Len(SHInfo), _ SHGFI_TYPENAME lPos = InStr(SHInfo.szTypeName, Chr$(0)) If lPos > 0 Then GetFileDescription = Left(SHInfo.szTypeName, lPos - 1) End If End Function Public Function GetDrvType(Drive As String) _ As DriveTypes Select Case GetDriveType(Left(Drive, 2) & "\") Case 2 Select Case GetFileDescription(Left(Drive, 2) & "\") Case "3,5-Diskette", "3½-Diskette" GetDrvType = DriveTypes.Floppy35 Case "5,25-Diskette", "5¼-Diskette" GetDrvType = DriveTypes.Floppy525 Case Else GetDrvType = DriveTypes.Removable End Select Case 3 GetDrvType = DriveTypes.HDD Case 4 GetDrvType = DriveTypes.Network Case 5 GetDrvType = DriveTypes.CDROM Case 6 GetDrvType = DriveTypes.RamDisk Case Else GetDrvType = DriveTypes.Unknown End Select End Function Dieser Tipp wurde bereits 14.519 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. |
Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats ![]() Dennis Hemken Computer der gegenwärtigen Domäne auslesen Alle Namen der Computer der gegenwärtigen Domäne (LDAP) auslesen TOP Entwickler-Paket ![]() TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR... |
||||||||||||||||
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. |