Вопрос

Есть ли способ обнаружить, когда определенное устройство подключено к USB-порту, я хотел бы, чтобы, когда я подключал свой ноутбук к док-станции, он запускал несколько приложений, чтобы учесть мою другую клавиатуру, мышь и мониторы. В частности, у меня возникла проблема с некоторым программным обеспечением для остановки закрытия медиаплеера клавиатуры G15.

Надеюсь, в .NET, но если нет, то любые предложения приветствуются.

Это было полезно?

Решение

Попробуйте использовать SharpUSBLib . Это оболочка C # вокруг проекта libusb.

Я вставляю пример кода ниже (включен в загрузку - только что попробовал сам). Это кажется достаточно простым, и я думаю, что он предоставит вам довольно много информации об устройствах, подключенных к вашему ноутбуку через 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);
                }
            }
        }

Другие советы

Вы можете заглянуть в WMI, чтобы получить информацию об оборудовании.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top