Запустите программу на USB-плагине.
Вопрос
Есть ли способ обнаружить, когда определенное устройство подключено к 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, чтобы получить информацию об оборудовании.