最近在搞一个监控USB端口数据的东东,网上找到了LibUsbDotNet,按照它的例子,运行下面的代码,总是读不到设备(allDevices 的数量一直是0),但是看网上有其它好多同仁都能正常用啊,不知道我是哪里还要做些什么设置.哪位大哥用过的,提点提点...
using System;
using LibUsbDotNet;
using LibUsbDotNet.Info;
using LibUsbDotNet.Main;
using System.Collections.ObjectModel;namespace Examples
{
    internal class ShowInfo
    {
        public static UsbDevice MyUsbDevice;        public static void Main(string[] args)
        {
            // Dump all devices and descriptor information to console output.
            UsbRegDeviceList allDevices = UsbDevice.AllDevices;
            foreach (UsbRegistry usbRegistry in allDevices)
            {
                if (usbRegistry.Open(out MyUsbDevice))
                {
                    Console.WriteLine(MyUsbDevice.Info.ToString());
                    for (int iConfig = 0; iConfig < MyUsbDevice.Configs.Count; iConfig++)
                    {
                        UsbConfigInfo configInfo = MyUsbDevice.Configs[iConfig];
                        Console.WriteLine(configInfo.ToString());                        ReadOnlyCollection<UsbInterfaceInfo> interfaceList = configInfo.InterfaceInfoList;
                        for (int iInterface = 0; iInterface < interfaceList.Count; iInterface++)
                        {
                            UsbInterfaceInfo interfaceInfo = interfaceList[iInterface];
                            Console.WriteLine(interfaceInfo.ToString());                            ReadOnlyCollection<UsbEndpointInfo> endpointList = interfaceInfo.EndpointInfoList;
                            for (int iEndpoint = 0; iEndpoint < endpointList.Count; iEndpoint++)
                            {
                                Console.WriteLine(endpointList[iEndpoint].ToString());
                            }
                        }
                    }
                }
            }
            // Free usb resources.
            // This is necessary for libusb-1.0 and Linux compatibility.
            UsbDevice.Exit();            // Wait for user input..
            Console.ReadKey();
        }
    }
}

解决方案 »

  1.   

    这个using LibUsbDotNet命名空间是怎样加进去的呢?直接用会出错。我新手,哪位好银教教俺吧。急啊!
      

  2.   

    我也来求助
    USB拨插的通知没问他,VID和PID也读出
    但就是 UsbDevice.AllDevices无法读到
      

  3.   

    libusb-win32 filter这个工具,只有在这个工具里面选择过的设备,才能是用libusbdotnet的库函数打开。
      

  4.   

    安装LibUsbDotNet时最后一步会提示你注册设备,只有注册过的设备才会在allDevices中。