有没有办法检测特定设备何时插入 USB 端口,我希望发生的情况是,当我将笔记本电脑插入扩展坞时,它会运行多个应用程序来解决我不同的键盘、鼠标和显示器。具体来说,我的 G15 键盘阻止媒体播放器正常关闭的某些软件存在问题。
希望在 .NET 中,但如果没有任何建议,我们将不胜感激。
尝试使用SharpUSBLib。它是 libusb 项目的 C# 包装器。
我在下面粘贴了一个代码示例(包含在下载中 - 只是自己尝试过)。它看起来很简单,我认为它会为您提供大量有关通过 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 以获取硬件信息。