2

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

希望在 .NET 中,但如果没有任何建议,我们将不胜感激。

4

2 回答 2

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);
                }
            }
        }
于 2009-01-05T12:17:39.640 回答
2

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

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

于 2009-01-05T12:30:07.993 回答