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