我正在尝试编写一个组件来收集有关已连接/已连接设备的数据。
我的组件应该在Linux和Windows上都可以工作。 目前,我通过查询Win32_PnPEntity在Windows机器上成功做到了这一点。
我正在寻找一种以编程方式收集有关Linux上所有已连接设备(即usb设备,磁盘,蓝牙等)的数据的方法。
搜索互联网后, 我没有找到任何解决方案来获取所有这些信息。
正如我所说,在Windows中我可以查询Win32_pnpentity, 有没有办法在Linux中做同样的事情? (我宁愿不使用实用程序,例如lshw等...)
谢谢, 阿密特。
答案 0 :(得分:-1)
libusb提供了examples/listdevs.c,并且此代码在Windows和Linux上应能很好地运行。
或者,您可以简单地在/sys/bus/usb/devices
中四处浏览。例如,诸如1-2
,1-4
(数字,破折号和数字)之类的条目代表整个连接的设备,并且这些目录包含manufacturer
和product
文件,分别表示设备。
对于想要广泛分发的任何内容,我都会使用libusb方法。如果您正在执行内部拥有的代码,则目录方法应该很好用。对界面的更改应该很少而且相差很远。