1.比如现在电脑连接了多个USB设备:USB 键盘,USB 鼠标,USB Modem,USB 映像设备,USB CDROM,USB 存储,USB 硬盘,USB 网卡等
2.怎么才能识别他们?比如我现在要禁用usb网卡,怎么才能识别呢?
3.有没有win api,可以获取所有的usb设备的信息?

解决方案 »

  1.   

    USB支持HID类设备,存储类设备.USB 键盘,USB 鼠标是HID规范.USB 存储,USB 硬盘是存储类设备.
    还有自定义的设备,需要自己写驱动.比如U口转串口设备.
    根据类别不同,需要不同的方法来识别设备.
      

  2.   

    http://topic.csdn.net/u/20080505/21/9598924b-4919-4d33-bf38-bce449ab8d16.html
    13楼的答复
      

  3.   

    每一类外设都有自己的GUID,通过在注册表中查找该GUID对应的数据项,就可以查到设备信息。如Modem的GUID值为0x4D36E96DL, 0xE325, 0x11CE, {0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18}。然后使用API SetupDiGetClassDevs来遍历所有此类设备。对找到的此类设备再调用SetupDiEnumDeviceInfo等API函数具体其信息,以分析是否是你需要的设备。至于你要禁用USB网卡的功能,可以到msdn上查到相应的禁用某设备的API函数。