Je suis face à un problème que je n'arrive pas à résoudre c'est pour ceci que je fais appelle à vous! Je veux détecter tout les éléments sur les ports USB. J'ai constater lors de mes recherches beaucoup de solutions qui utilise la connexion/déconnexion des éléments mais je ne peux pas procéder comme ça. Je dois lister tous les éléments des ports pour ensuite envoyer une trame au bon élément. J'utilise WMI mais sans succès. C'est mon premier programme en C#, avant je réalisais mes programmes en java, alors je prends tous les conseils.
Petit exemple de ce qui est déjà fait mais qui ne fonctionne pas:
using System;
using System.Management;
using System.Management.Instrumentation;
namespace ConsoleApplication1
{
class Class1
{
staticvoid Main(string[] args)
{
ManagementObjectSearcher chercher = new ManagementObjectSearcher("Select Name from Win32_USBControllerDevice");
foreach(ManagementObject usb in chercher.Get())
{
Console.WriteLine("Name: {0}\n",usb.GetPropertyValue("Name"));
}
}
}
}
Merci d'avance de m'aider à trouver une solution!
Salutations à tous!
Stephanie701
Salut, tu dis que ton bout de code ne fonctionne pas : est ce que une exception est levée ? Sinon, je ne suis pas sur que la classe Win32_USBControllerDevice possède une propriété Name.
Si tu veux lister tous les éléments connectés aux ports USB, une solution serait d'utiliser la classe Win32_PnPEntity qui liste tous les éléments plug & play et plus particulièrement les équipements USB. Ensuite la classe Win32_PnpAllocatedResource devrait te permettre de faire la liaison entre l'élémentet le système. Tu peux aussi utiliser la classe Win32_PnPDevice qui liste les élément USB en fonction de leur équipement matériel associé.
En faite, j'ai réussi à lister a l'aide de win32_USBHub. Avec "NAME" il me donne des indications (périphérique de stockage de masse, HD, appareil photo,...) Donc mon programme fonctionne à ce niveau la mais maitenant un autre problème ce pose, c'est la communication avec ces périphériques. J'ai entendu parler d'une dll (winUsb.dll) mais impossible de la trouver. http://msdn2.microsoft.com/en-us/library/aa476437.aspx