我想写一些C++程序,它可以检测U盘扩展卡或SD卡读卡器的存在,而不需要插入任何东西。这个是可能的吗?在Linux下?
发布于 2012-01-21 01:56:03
如果您知道确切的供应商id和/或产品id,您可以搜索它,如下所示:
for (bus = busses; bus; bus = bus->next)
for (dev = bus->devices; dev; dev = dev->next)
if ((dev->descriptor.idVendor == vendor) && (dev->descriptor.idProduct == product))
return dev;
libusb tutorial
发布于 2013-02-10 23:52:22
是的,你可以通过一个简单的dmesg
得到idVendor和idProduct。然后,设置一个搜索条件,上面显示的是一个有知识的人。如果您想深入挖掘,并且您有一台linux,那么您可以探索一下<kernel_source>/drivers/usb/core
中的usb.h
。有一个结构:struct usb_device{}
。如果你更热衷于探索,那么你应该查看driver.c
和hub.c
的方法,比如announce_device()
,它在dmesg
之后打印USB设备的详细信息。永远探索它!:)
https://stackoverflow.com/questions/8945585
复制相似问题