-2

我正在尝试编写一个组件来收集有关已连接/附加设备的数据。

我的组件应该可以在 Linux 和 Windows 上运行。目前,我通过查询 Win32_PnPEntity 在 Windows 机器上成功地做到了这一点。

我正在寻找一种在 Linux 上以编程方式收集有关所有连接设备(即 USB 设备、磁盘、蓝牙等)的数据的方法。

在互联网上搜索后,我没有找到任何解决方案来获取所有这些信息。

正如我所说,在 Windows 中我可以查询 Win32_pnpentity,有没有办法在 Linux 中做同样的事情?(我宁愿不使用实用程序,例如 lshw 等...)

谢谢,阿米特。

4

1 回答 1

-1

libusb 提供了examples/listdevs.c,这段代码应该在 Windows 和 Linux 上运行得一样好。

或者,您可以简单地在/sys/bus/usb/devices. 例如,像1-2, 1-4, (一个数字、一个破折号和一个数字)这样的条目代表整个连接的设备,这些目录包含代表设备manufacturerproduct文件。

对于我想广泛分发的任何内容,我都会使用 libusb 方法。如果您正在编写内部拥有的代码,那么目录方法应该可以很好地工作。对界面的更改应该很少而且相差甚远。

于 2018-08-29T09:08:48.483 回答