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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 177 fois - Téléchargée 68 fois

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

Ajouter un commentaire Commentaires
wallon14 Messages postés 56 Date d'inscription vendredi 17 octobre 2003 Statut Membre Dernière intervention 3 juillet 2005
18 janv. 2006 à 15:59
Merci :)
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
9 juin 2002 à 07:38
Vla pour les parresseus la source qui donne le type aussi:


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



Le sub:




Dim Lecteur As String
Dim i As Integer
For i = 0 To 25
Lecteur = Chr$(i + 65) & ":"
R = GetDriveType(Lecteur)
If R <> NO_DRIVE Then
If R 5 Then R "CDROM"
If R 3 Then R "Disque Dur"
If R 6 Then R "Disque Ram"
If R 4 Then R "Lecteur Réseau"
If R 2 Then R "Disque Amovible"
Set NodX = Tvw.Nodes.Add("disk", tvwChild, "", Lecteur & " : " & R)
End If
Next i
Arkeur Messages postés 9 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 6 mars 2003
19 mai 2002 à 15:15
génial.... et voila comment evité une prise de tête en kelkues cliks....
fbrt Messages postés 39 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 16 avril 2005
4 mars 2002 à 09:53
super ce programme !
merci pour ce petit prog qui m'a fait gagner du temps

:o)

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.