Lister les disques (cd, hd, fd, ramdisk etc...)

Contenu du snippet

Ce code est pas de moi mais il est tres bien fait :)

Source / Exemple :


Option Explicit

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Const DRIVE_CDROM = 5
Const DRIVE_FIXED = 3
Const DRIVE_RAMDISK = 6
Const DRIVE_REMOTE = 4
Const DRIVE_REMOVABLE = 2
Const DRIVE_UNKNOW = 0
Const NO_DRIVE = 1

Private Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" ( _
       ByVal lpRootPathName As String, _
       ByVal lpVolumeNameBuffer As String, _
       ByVal nVolumeNameSize As Long, _
       lpVolumeSerialNumber As Long, _
       lpMaximumComponentLength As Long, _
       lpFileSystemFlags As Long, _
       ByVal lpFileSystemNameBuffer As String, _
       ByVal nFileSystemNameSize As Long) As Long

Private Sub Command1_Click()

Dim Lecteur As String
Dim Item As String
Dim i As Integer, r As Long

List1.Clear

For i = 0 To 25 'Pour chaque lecteur possible (de A:\ à Z:\)
    Lecteur = Chr$(i + 65) & ":\"   'Cela fait a:\, b:\, c:\ ...
    r = GetDriveType(Lecteur)
    
    If r <> NO_DRIVE Then
        List1.AddItem Lecteur & "  :  " & r 'Ajoute dans la liste le nouveau disque trouvé
    End If                                  'Notez qu'il suffit de tester r pour savoir si l'on a affaire à un CD-ROM, à un disque dur....
Next i                                      'utilisez pour cela les constantes DRIVE_CDROM, DRIVE_FIXED...

End Sub

Conclusion :


il faut juste un bouton (Command1) et une liste (List1)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.