none
Afficher la liste des périphériques RRS feed

  • Question

  •  

    Bonjour à tous

     

    Je suis en train de créer un programme qui liste les différents périphériques de l'ordinateur (carte graphique, sons....)

     

    Je pensais trouver ces infos dans la base de registre mais à priori, aucune trace.

     

    j'aimerais donc savoir si il existe des instructions (comme "System.Environement" par exemple) qui permettent de lister ce type d'informations.

     

    Si non, existe-t-il un fichier (de type .ini par exemple) qui listent ces éléments.

     

     

    Merci par avance

     

    PhilouVB

    vendredi 24 octobre 2008 13:33

Réponses

  • Bonjour,

     

    En gros voici un exemple pour effectuer une requête WMI :

    http://msdn.microsoft.com/fr-fr/library/3x6at5a0(VS.80).aspx

     

    L'objet WMI qui devrait vous interesser est : Win32_PnPEntity

    Voici un exemple d'utilisation :

     

    Code Snippet

    Dim sQuery As New SelectQuery("SELECT * FROM Win32_PnPEntity")

    Dim s As New ManagementObjectSearcher(sQuery)

    For Each service As ManagementObject In s.[Get]()
        Console.WriteLine(service("Description"))
    Next

     

     

    Si vous recherchez des informations sur l'objet WMI à utiliser, l'explorateur de serveur devrait vous aider dans Visual Studio (il faut la version Pro au minimum).

    Explorateur de serveurs > Votre ordinateur > Classes de gestion > ...

     

    Cordialement

    mardi 28 octobre 2008 20:17
    Modérateur
  • Bonjour,

     

    Sous .NET (et Windows de manière générale), il est possible d'obtenir la liste des périphériques via WMI.

    L'espace de nom consacré à cette technologie est : System.Management

    http://msdn.microsoft.com/fr-fr/library/system.management.aspx

     

    Cordialement

    dimanche 26 octobre 2008 10:15
    Modérateur
  • Bonjour

     

    Effectivement, j'ai trouvé cette instruction. Mon soucis est que je ne comprends absolument pas le fonctionnement.

     

    Cette méthode renvoie à une multitude d'instruction et j'ai l'impression de tourner en rond

     

    Existe-t-il un code ou bien est-il possible d'en savoir un peu plus sur le fonctionnement de System.Management.

     

    En général sur MSDN on trouve toujours un code comme exemple pour aider, mais là, strictement rien.

     

    Merci

     

     

    lundi 27 octobre 2008 18:17
  • Bonjour.

     

    J'ai étudié en me servant du lien que tu m'as montré certaines fonction Win32. En particulier "LogicalDisk" (http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx)

     

    Le problème que je rencontre est le suivant. Je suppose que cette fonction permet de lister l'ensemble des supports (disque dur, lecteurs et ports usb). Mais je ne vois pas comment je peux créer une liste à partir des instructions données.

     

    Peux-tu m'aider ?

     

    Merci

     

     

    lundi 3 novembre 2008 17:04
  • Bonjour,

     

    Mon exemple précédent montre comment afficher le nom d'un périphérique.

    Pour le mettre dans une liste, il suffit d'en créer une et d'ajouter le nom de ce périphérique dans la liste :

     

    Code Snippet

    Dim l as List(Of String)

    l = new List(Of String)

     

    Dim sQuery As New SelectQuery("SELECT * FROM Win32_PnPEntity")

    Dim s As New ManagementObjectSearcher(sQuery)

    For Each service As ManagementObject In s.[Get]() 
        l.Add(service("Description"))
    Next

     

    'Utiliser la liste "l"

     

     

    Cordialement

     

    lundi 3 novembre 2008 18:09
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Sous .NET (et Windows de manière générale), il est possible d'obtenir la liste des périphériques via WMI.

    L'espace de nom consacré à cette technologie est : System.Management

    http://msdn.microsoft.com/fr-fr/library/system.management.aspx

     

    Cordialement

    dimanche 26 octobre 2008 10:15
    Modérateur
  • Bonjour

     

    Effectivement, j'ai trouvé cette instruction. Mon soucis est que je ne comprends absolument pas le fonctionnement.

     

    Cette méthode renvoie à une multitude d'instruction et j'ai l'impression de tourner en rond

     

    Existe-t-il un code ou bien est-il possible d'en savoir un peu plus sur le fonctionnement de System.Management.

     

    En général sur MSDN on trouve toujours un code comme exemple pour aider, mais là, strictement rien.

     

    Merci

     

     

    lundi 27 octobre 2008 18:17
  • Bonjour,

     

    En gros voici un exemple pour effectuer une requête WMI :

    http://msdn.microsoft.com/fr-fr/library/3x6at5a0(VS.80).aspx

     

    L'objet WMI qui devrait vous interesser est : Win32_PnPEntity

    Voici un exemple d'utilisation :

     

    Code Snippet

    Dim sQuery As New SelectQuery("SELECT * FROM Win32_PnPEntity")

    Dim s As New ManagementObjectSearcher(sQuery)

    For Each service As ManagementObject In s.[Get]()
        Console.WriteLine(service("Description"))
    Next

     

     

    Si vous recherchez des informations sur l'objet WMI à utiliser, l'explorateur de serveur devrait vous aider dans Visual Studio (il faut la version Pro au minimum).

    Explorateur de serveurs > Votre ordinateur > Classes de gestion > ...

     

    Cordialement

    mardi 28 octobre 2008 20:17
    Modérateur
  • Bonjour.

     

    J'ai étudié en me servant du lien que tu m'as montré certaines fonction Win32. En particulier "LogicalDisk" (http://msdn.microsoft.com/en-us/library/aa394173(VS.85).aspx)

     

    Le problème que je rencontre est le suivant. Je suppose que cette fonction permet de lister l'ensemble des supports (disque dur, lecteurs et ports usb). Mais je ne vois pas comment je peux créer une liste à partir des instructions données.

     

    Peux-tu m'aider ?

     

    Merci

     

     

    lundi 3 novembre 2008 17:04
  • Bonjour,

     

    Mon exemple précédent montre comment afficher le nom d'un périphérique.

    Pour le mettre dans une liste, il suffit d'en créer une et d'ajouter le nom de ce périphérique dans la liste :

     

    Code Snippet

    Dim l as List(Of String)

    l = new List(Of String)

     

    Dim sQuery As New SelectQuery("SELECT * FROM Win32_PnPEntity")

    Dim s As New ManagementObjectSearcher(sQuery)

    For Each service As ManagementObject In s.[Get]() 
        l.Add(service("Description"))
    Next

     

    'Utiliser la liste "l"

     

     

    Cordialement

     

    lundi 3 novembre 2008 18:09
    Modérateur
  • Bonjour

    Un grand merci pour ce code que je ne connaissais pas

    Je vais essayer de l'adapter aux disques locaux et aussi de la développer car je suppose que l'on peut ajouter d'autres éléments

    Juste une petite question concernant ton code.
    "service" correspond-il à une variable ou à une instruction.

    Si il s'agit d'une instruction. Comment puis-je savoir si il existe d'autres instructions sur msdn

    Un IMMENSE merci

    PhilouVB
    lundi 3 novembre 2008 19:46
  • Bonjour,

     

    Non, "service" est une variable qui est affectée à chaque énumération par la boucle For Each.

     

    Cordialement

    lundi 3 novembre 2008 19:52
    Modérateur
  • Bonjour

    je serait intéresser par ce post parce que je cherche un code qui me dit la place qui reste sur mais disque dur , et ce post a l'air d'aller dans cette optique.
      PhilouVB avez-vous réussit a faire ce que vous cherchiez ? si oui pouvait vous m'être le code utiliser ?

    Merci Bien

    .::ZeroC00L::.
    mardi 9 juin 2009 06:22
  • Bonjour,


    Pourriez vous faire dans la code le point d'interrogation "?" suivit de TABULATION
    Dans [Système Windows, Journalisation, .....], [Windows - Informations système] et [Rechercher la quantité d'espace disque]

    Ou sinon

    il faut taper dans l'espace de code "sysspace" (sans les " ) et tabulation

    .
    Cordialement, Troxsa
    mardi 9 juin 2009 13:16
    Auteur de réponse