Un module (basLecteurs) qui permet de recuperer les differentes information concernant
vos disques.
(Type, Volume total, Espace libre, Lettre, Nom reseau, .....).
Il y a un petit exemple fournit avec le zip.
A+
Source / Exemple :
'|-----------------------------------------------------------
'| Module : basLecteurs
'|-----------------------------------------------------------
'| Description : Propriété des différents lecteurs
'| Ce module comprend 2 fonctions :
'|
'| 1> Info_Lecteur(Lecteur as DRIVE, Info as InfoDrive) as String
'| 2> Etat_Lecteur(Lecteur As Drive) As EtatLecteur
'|
'|---------------------------------------------------------------------------
'| ATTENTION : Ce module necessite une DLL Système : SCRRUN.DLL
'| Pour cela il faut charger une référence Microsoft
'| Menus : Projet -> Références
'| Cocher Microsoft Scripting Runtime
'|---------------------------------------------------------------------------
'| 1> fonction Info_Lecteur(Lecteur As Drive, Info As InfoDrive) As String
'|
'| la procedure appelante doit fournir a la fonction un
'| objet "Drive"
'|
'| exemple :
'|
'| Dim fso As New FileSystemObject
'| Dim ToutLecteurs As Drives
'| Dim Lecteur As Drive
'| Dim strResult As String
'|
'| Set ToutLecteurs = fso.Drives
'| For Each Lecteur In ToutLecteurs
'| strResult = Info_Lecteur(Lecteur, "Info a renvoyer")
'| Next
'|
'| Infos succeptibles d'etre renvoyees
'|-------------------------------------
'| Le parametre Info est défini dans une énumération (InfoDrive). la valeur
'| de ce parametre ainsi que les éléments retournés (de type String)
'| est :
'|
'| Type_Lecteur -> CD-Rom
'| -> Fixe
'| -> Disque RAM
'| -> Reseau
'| -> Amovible
'| -> Inconnu
'|
'| Nom_Partage -> Accessible uniquement en cas de
'| disque reseau
'|
'| Volume_Libre -> Accessibles uniquement si le disque
'| Volume_Total concerné est "Pret" (dans le cas de
'| disque amovible)
'|
'| Lettre_Disque -> La lettre définissant le lecteur
'|
'| Num_Serie -> Numérot de série
'| Accessibles uniquement si le disque
'| concerné est "Pret" (dans le cas de
'| disque amovible)
'|
'| System_Disque -> Type de formatage (FAT, NTFS, ....)
'| Accessibles uniquement si le disque
'| concerné est "Pret" (dans le cas de
'| disque amovible)
'|
'|-----------------------------------------------------------
'| 2> Etat_Lecteur(Lecteur As Drive) As EtatLecteur
'|
'| la procedure appelante doit fournir a la fonction un
'| objet "Drive"
'|
'| mise en oeuvre -> Voir fonction précédente
'|
'| Infos succeptibles d'etre renvoyees
'|-------------------------------------
'| Elles sont définie dans une énumération (EtatLecteur)
'| les valeurs de retour sont :
'|
'| Pret -> Lecteur actif contenant un média
'| Pas_Pret -> Lecteur soit inactif soit un disque
'| amovible ne contenant pas de média.
'|
'|-----------------------------------------------------------
'| Module(s) appeles : sans objet
'|-----------------------------------------------------------
'| Version 24/10/2002 Jim Origine
'|
'|#----------------------------------------------------------
Option Explicit
'---------------------------------------------
'Nature des infos succeptibles d'etre renvoyees par
'la fonction Info_Lecteur
'---------------------------------------------
Public Enum InfoDrive
Type_Lecteur
Nom_Partage
Volume_Libre
Volume_Total
Lettre_Disque
Num_Serie
System_Disque
End Enum
'--------------------------------------------
'valeurs retournees par la fonction EtatLecteur
'--------------------------------------------
Public Enum EtatLecteur
Pret
Pas_Pret
End Enum
'--------------------------------------------
Public Function Info_Lecteur(Lecteur As Drive, Info As InfoDrive) As String
Select Case Info
Case Lettre_Disque
'--------------------------------------
'Lettre du volume
'--------------------------------------
Info_Lecteur = Lecteur.DriveLetter
Case Type_Lecteur
'--------------------------------------
'Type du lecteur
'--------------------------------------
Select Case Lecteur.DriveType
Case CDRom
Info_Lecteur = "CD-Rom"
Case Fixed
Info_Lecteur = "Fixe"
Case RamDisk
Info_Lecteur = "Disque RAM"
Case Remote
Info_Lecteur = "Reseau"
Case Removable
Info_Lecteur = "Amovible"
Case UnknownType
Info_Lecteur = "Inconnu"
End Select
Case Lettre_Disque
'--------------------------------------
'Lettre du volume
'--------------------------------------
Info_Lecteur = Lecteur.DriveLetter
Case Nom_Partage
'--------------------------------------
'En cas de disque réseau
' -> Nom du partage
'--------------------------------------
If Lecteur.DriveType = Remote Then 'cest un lecteur réseau
Info_Lecteur = Lecteur.ShareName
Else
Info_Lecteur = ""
End If
Case Volume_Libre
'--------------------------------------
'Espace Disponible
'--------------------------------------
If Etat_Lecteur(Lecteur) = Pret Then
Info_Lecteur = Lecteur.FreeSpace
Else
Info_Lecteur = ""
End If
Case Volume_Total
'--------------------------------------
'Espace Total
'--------------------------------------
If Etat_Lecteur(Lecteur) = Pret Then
Info_Lecteur = Lecteur.TotalSize
Else
Info_Lecteur = ""
End If
Case Nom_Partage
'--------------------------------------
'Nom du Volume
'--------------------------------------
If Etat_Lecteur(Lecteur) = Pret Then
Info_Lecteur = Lecteur.VolumeName
Else
Info_Lecteur = ""
End If
Case Num_Serie
'--------------------------------------
'N° de serie
'--------------------------------------
If Etat_Lecteur(Lecteur) = Pret Then
Info_Lecteur = Lecteur.SerialNumber
Else
Info_Lecteur = ""
End If
Case System_Disque
'--------------------------------------
'FileSystem
'--------------------------------------
If Etat_Lecteur(Lecteur) = Pret Then
Info_Lecteur = Lecteur.FileSystem
Else
Info_Lecteur = ""
End If
End Select
End Function
Public Function Etat_Lecteur(Lecteur As Drive) As EtatLecteur
If Lecteur.IsReady Then
Etat_Lecteur = Pret
Else
Etat_Lecteur = Pas_Pret
End If
End Function
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.