Pergunta

Existe uma maneira de detectar quando um dispositivo específico está conectado a uma porta USB, o que eu gostaria que acontecesse é quando eu ligar o meu laptop no meu docking station-lo correr-se vários aplicativos para a conta para o meu teclado diferente, mouse e monitores. Especificamente eu tenho um problema com algum software para o meu teclado G15 parar media player fechando corretamente.

Esperamos que em .NET, mas se não todas as sugestões apreciado.

Foi útil?

Solução

Tente usar SharpUSBLib . É um C # wrapper em torno do projeto libusb.

Eu estou colando uma amostra de código abaixo (incluído no download - apenas tentei me). Parece bastante simples e eu acho que vai fornecê-lo com bastante grande quantidade de informações sobre dispositivos conectados ao seu laptop 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);
                }
            }
        }

Outras dicas

Você pode olhar para WMI para obter as informações de hardware.

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top