2009-01-05 5 views
1

Y at-il un moyen de détecter quand un périphérique spécifique est branché sur un port USB, ce que je voudrais arriver est quand je branche mon ordinateur portable dans ma station d'accueil, il lance plusieurs applications pour tenir compte mon clavier, souris et moniteurs différents. Plus précisément, j'ai un problème avec certains logiciels pour mon clavier G15 arrêtant le lecteur multimédia se fermant correctement.Démarrer le programme sur le plugin matériel USB

Espérons que .NET mais pas de suggestions appréciées.

Répondre

2

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 qu'il vous fournira beaucoup 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); 
       } 
      } 
     } 
+0

Ce qui manque est la détection de l'événement de «lorsqu'un dispositif spécifique est branché sur un port USB. On pourrait imaginer garder un dictionnaire d'appareils connectés avec ce code sur une minuterie, mais pas la réponse que je soupçonne. – kenny

Questions connexes