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.

Était-ce utile?

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.

http://msdn.microsoft.com/en-us/library /aa394582.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top