Lancer le programme sur le plugin matériel USB
Question
Existe-t-il un moyen de détecter le moment où un périphérique donné est branché sur un port USB? Ce que je voudrais, c’est que lorsque je connecte mon ordinateur portable à ma station d’accueil, il lance plusieurs applications pour prendre en compte mes différents clavier, souris et périphérique. moniteurs. En particulier, certains logiciels de mon clavier G15 empêchent la fermeture du lecteur multimédia correctement.
Espérons que ce soit en .NET, mais si aucune suggestion n’a été appréciée.
La solution
Essayez d’utiliser SharpUSBLib . C'est un wrapper C # autour du projet libusb.
Je colle un exemple de code ci-dessous (inclus dans le téléchargement - je l’ai essayé moi-même). Cela semble assez simple et je pense que cela vous fournira pas mal d’informations sur les appareils connectés à votre ordinateur portable via USB.
foreach (Bus bus in Bus.Busses)
{
Console.WriteLine(bus);
foreach (Descriptor descriptor in bus.Descriptors)
{
Console.WriteLine("\t" + descriptor);
try
{
using (Device device = descriptor.OpenDevice())
{
Console.WriteLine("\t\t Product: " + device.Product);
Console.WriteLine("\t\tManufacturer: " + device.Manufacturer);
Console.WriteLine();
}
}
catch (UsbException e)
{
Console.WriteLine("Got Exception : " + e);
}
}
}
Autres conseils
Vous pouvez consulter WMI pour obtenir les informations sur le matériel.