在usb硬件插件上启动程序

时间:2009-01-05 11:58:00

标签: .net usb

有没有办法检测特定设备何时插入USB端口,我想要发生的是当我将笔记本电脑插入扩展坞时,它会运行多个应用来解释我的不同键盘,鼠标和显示器。具体来说,我的G15键盘停止媒体播放器正常关闭的某些软件存在问题。

希望在.NET中,但如果没有任何建议表示赞赏。

2 个答案:

答案 0 :(得分:2)

尝试使用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);
                }
            }
        }

答案 1 :(得分:2)

您可以查看WMI以获取硬件信息。

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