Connaitre tout vos lecteurs et leurs caractéristiques.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 450 fois - Téléchargée 29 fois

Contenu du snippet

Bon sur ma précédente source j'avais dit que ceux qui désiraient savoir si on avait un lecteur dvd et etc... me demande.
Mais au lieu de répondre a tout le monde individuellement voila le code.

Source / Exemple :


'Attention certaines requetes prennent pas mal de temps
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Il faut ajouter dans les reférences du projet windows WMI scripting v1.2
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'détermine si un lecteur ou plusieurs lecteurs sont installés dans l'ordinateur
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject( "winmgmts:\\.\root\cimv2")
Set Items = WMIService.ExecQuery( "Select * from Win32_CDROMDrive")
For Each Item in Items
    msgbox "ID du périphérique: " & Item.DeviceID
    MsgBox "Description: " & Item.Description
    MsgBox "Nom: " & Item.Name 
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'détermine si un média est dans les lecteur cités ci-dessus
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:\\.\root\cimv2")
Set Items = WMIService.ExecQuery( "Select * from Win32_CDROMDrive")
For Each Item in Items
    MsgBox "ID du périphérique: " & Item.DeviceID
    MsgBox "Media Loaded: " & Item.MediaLoaded
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Détermine si une disquette est dans le lecteur de disquette
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:\\.\root\cimv2")
Set Items = WMIService.ExecQuery _
    ("Select * From Win32_LogicalDisk Where DeviceID = 'A:'")

For Each Item In Items
    intFreeSpace = Item.FreeSpace
    If IsNull(intFreeSpace) Then
        MsgBox "Il n'y a pas de disquette dans le lecteur de disquette ou vous n'avez pas de lecteur de disquette."
    Else
       MsgBox "Il y a une disquette dans le lecteur de disquette"
    End If
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Enumère vos disque et dit quel est leur type
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Disks = WMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each Disk In Disks
    MsgBox "ID du périphérique: " & Disk.DeviceID
    Select Case Disk.DriveType
        Case 1
            MsgBox "Ce disque n'existe pas"
        Case 2
            MsgBox "Type de disque: Disque amovible."
        Case 3
            MsgBox "Type de disque: Disque dur local."
        Case 4
            MsgBox "Type de disque: Disque réseau."
        Case 5
            MsgBox "Type de disque: lecteur CD."
        Case 6
            MsgBox "Type de disque: RAM disque."
        Case Else
            MsgBox "Le type de disque ne peut etre determiné."
    End Select
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Détermine le type de fichier de vos disques
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Disks = WMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each Disk In Disks
    MsgBox "ID du périphérique: " & Disk.DeviceID
    MsgBox "Type de fichier: " & Disk.FileSystem
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Détermine la place libre de vos disques
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Disks = WMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each Disk In Disks
    MsgBox "ID du périphérique : " & Disk.DeviceID
    MsgBox "Espace libre : " & Disk.FreeSpace & " Octets"
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Détermine la taille de vos disques
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set WMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set Disks = WMIService.ExecQuery("Select * from Win32_LogicalDisk")
For Each Disk In Disks
    MsgBox "ID du périphérique : " & Disk.DeviceID
    MsgBox "Taille : " & Disk.Size & " Octets"
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Conclusion :


J'espère rajouter d'autres fonctions car le WMI en a vraiment beaucoup.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
106
Date d'inscription
lundi 20 septembre 2004
Statut
Membre
Dernière intervention
23 janvier 2010

aucunes déclarations.....
une grosse dépendance a WMi...
et pis en plus c un peu lent !

autre remarque.... as-tu vraiment testé ton code ? ou alors tu ne te sers pas du tout de l'option Explicit...
Car pour le lecteur de disquette :
intFreeSpace = Item.FreeSpace
If IsNull(intFreeSpace) Then [...]
> si intFreeSpace est déclaré en Integer alors elle n'accepte pas les Null or si y'a pas de disquette dans le lecteur, Item.FreeSpace sera null donc erreur !

Mais tu as le mérite d'avoir lu le MSDN et d'avoir essayé de mettre tout ca en pratique pour le partager avec tout le monde !
Merci a toi
Ma note sera le première est c un 6 d'encouragement !
Messages postés
89
Date d'inscription
lundi 3 mars 2003
Statut
Membre
Dernière intervention
28 juillet 2008

Bonjour
Cela fonctionne. Merci beaucoup
Mais le lecteur de DVD est défini comme le lecteur de CD : type CD-Rom. les graveurs aussi.
Sait pas faire la différence entre CD et DVD, ni si graveur ou lecteur
Maurice
Messages postés
2075
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
FSO ...
Messages postés
480
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
3 septembre 2007

Quelles dépendences ??????

JRB
Messages postés
2075
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
16 mars 2020
2
Encore des dépendences ..... toujours des dépendances .....
Afficher les 6 commentaires

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.