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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 937 fois - Téléchargée 66 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
Messages postés
56
Date d'inscription
vendredi 17 octobre 2003
Statut
Membre
Dernière intervention
3 juillet 2005

Merci :)
Messages postés
592
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
4 décembre 2008

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
Messages postés
9
Date d'inscription
vendredi 17 mai 2002
Statut
Membre
Dernière intervention
6 mars 2003

génial.... et voila comment evité une prise de tête en kelkues cliks....
Messages postés
39
Date d'inscription
lundi 25 février 2002
Statut
Membre
Dernière intervention
16 avril 2005

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.