Pregunta

¿Hay alguna forma de detectar cuándo un dispositivo específico está conectado a un puerto USB? Lo que me gustaría que sucediera es cuando conecto mi computadora portátil a mi estación de acoplamiento. monitores Específicamente, tengo un problema con algún software para mi teclado G15 que detiene el cierre del reproductor multimedia correctamente.

Con suerte en .NET, pero si no, se agradece cualquier sugerencia.

¿Fue útil?

Solución

Intente usar SharpUSBLib . Es un contenedor de C # alrededor del proyecto libusb.

Estoy pegando un ejemplo de código a continuación (incluido en la descarga; lo probé yo mismo). Parece bastante simple y creo que le proporcionará bastante información sobre los dispositivos conectados a su computadora portátil a través de 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);
                }
            }
        }

Otros consejos

Puede buscar en WMI para obtener la información del hardware.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top