Public Declare Function GetDriveType Lib "kernel32" _
Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Public Function Typ_Dysku()
Dim Nazwa As String
Nazwa = InputBox("Podaj literę dysku", "typ dysku", "C:\")
Typ_Dysku = GetDriveType(Nazwa)
Select Case Typ_Dysku
Case 2
Typ_Dysku = "Napęd dyskietek lub inny dysk wymienny"
Case 3
Typ_Dysku = "Dysk stały(twardy)"
Case 4
Typ_Dysku = "Napęd sieciowy lub umieszczony na serwerze sieciowym"
Case 5
Typ_Dysku = "Napęd CD - ROM"
Case 6
Typ_Dysku = "Ramdysk"
End Select
MsgBox Typ_Dysku
End Function
Uzupełnienie:
Na podstawie metody przedstawionej przez Mirka dodałem przykładową funkcję, która zwraca tę literę CD:
Public Function CDROM()'funkcja zwraca literę pierwszego CD-ROMu w systemieOn Error Resume Next Dim DriveNum As Long, DriveLeter As String, DriveType As Long Dim FirstDrive As Long, Results As Long Const NapedCD = 5 DriveNum = 0 Do DriveNum = DriveNum + 1 DriveLeter = Chr$(DriveNum + 64) + ":\"'testuje kolejne możliwe napędyDriveType = GetDriveType(DriveLeter) If Err > 0 Then DriveLeter = "-"'brak CD-ROMuExit Do End If Loop Until DriveType = NapedCD CDROM = Left(DriveLeter, 2) End Function