有没有一种方法可以检测特定设备何时插入usb端口,我希望发生的是,当我将笔记本电脑插入扩展底座时,它会运行几个应用程序来说明我不同的键盘、鼠标和显示器。具体地说,我有一个问题,我的G15键盘上的一些软件停止媒体播放器正常关闭。
希望是在.NET中,但如果没有任何建议,我将非常感谢。
发布于 2009-01-05 12:17:40
尝试使用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);
}
}
}发布于 2009-01-05 12:30:08
您可以查看WMI以获取硬件信息。
http://msdn.microsoft.com/en-us/library/aa394582.aspx
https://stackoverflow.com/questions/412910
复制相似问题