[syntax="ls"](Declaration)
' API - Détermine le type de lecteur
Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (Byval nDrive As String) As Long
Const DRIVE_CDROM = 5 ' Lecteur CD
Const DRIVE_FIXED = 3 ' Disque dur
Const DRIVE_RAMDISK = 6 ' Disque virtuel
Const DRIVE_REMOTE = 4 ' Disque réseau
Const DRIVE_REMOVABLE = 2 ' Disque amovible
Const DRIVE_UNKNOW = 0 ' Disque de format inconnu
Const NO_DRIVE = 1 ' Pas de disque
Dim LecteurPresent() As String
Dim LettreLecteur() As String
Sub LecteurEnPlace()
Dim Lecteur As String
Dim Item As String
Dim i As Integer
Dim r As Long
Dim x As Integer
Dim t As Integer
Redim LecteurPresent(0)
Redim LettreLecteur(0)
For i = 0 To 25
Lecteur = Chr$(i + 65) & ":\"
r = GetDriveType(Lecteur)
If r <> NO_DRIVE Then
t = Ubound(LecteurPresent)
If t = 0 Then
LecteurPresent(0) = Cstr(r)
LettreLecteur(0) = Chr$(i + 65)
x = x + 1
Redim Preserve LecteurPresent(x) As String
Redim Preserve LettreLecteur(x) As String
Else
Redim Preserve LecteurPresent(x) As String
Redim Preserve LettreLecteur(x) As String
LecteurPresent(x) = Cstr(r)
LettreLecteur(x) = Chr$(i + 65)
x = x + 1
End If
End If
Next i
End Sub[/syntax]Exemple d'utilisation :[syntax="ls"]Private Sub ExtrationCDROM()
Dim x As Integer
Dim t As Integer
Dim y As Integer
t = Ubound(LecteurPresent) ' Longueur de liste
For x = 0 To t ' De zéro jusquà la fin de la liste
If Cint(LecteurPresent(x)) = DRIVE_CDROM Then ' Si la constante correspond à un lecteur CD
y = x
' Votre traitement ici
Next
End Sub[/syntax]