Connaitre tout vos lecteurs et leurs caractéristiques.

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

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.