我需要一种方法来获取我正在处理的项目中USB端口的ID(如果存在)。我们要做的是通过使用USB端口将一些华硕深度相机连接到Windows计算机,并且在我们的应用程序中使用这些相机来唯一地识别相机,因为每个相机都为其生成了一些特定的信息(当我们断开连接并将摄像机重新连接到计算机时,为每个摄像机重新加载这些信息。看起来我们用来控制深度传感器(OpenNI)的API不提供特定于设备的唯一ID,所以我们考虑使用USB端口的ID而不是设备并专门生成我们的数据使用USB端口ID;这样我们就知道相机应该如何定位,例如,如果它连接到“特定的”USB端口。
我在这里有两个问题。首先,Windows系统上的USB端口是否具有此类唯一标识符;我们能以某种方式区分不同的USB端口吗? (我在这里有点怀疑,因为他们最终连接了总线。)我的第二个问题是,如果我们能够区分和枚举USB端口,我们如何通过使用Win32 API或其他库来实现?我遇到了称为“Windows Management Instrumentation”及其相应类的东西。有一个名为“Win32_USBController”的类,我认为这可能包含我需要的内容,但我对如何使用它没有任何线索。所以我转过来寻求帮助。
提前致谢
答案 0 :(得分:1)
我唯一可以提出的,没有实际看到你的相机或知道它们是什么型号,就是将它们全部插入,打开设备管理器,在那里找到那些相机,切换到“详细信息”选项卡,然后查找属性,所有相机都有所不同。
之后你应该在here附近搜索它的文档。