由于我安装了数十个虚拟串行(COM)端口,其中一半是蓝牙设备,我想知道哪个端口属于哪个设备,以及它是直接连接还是通过蓝牙连接 .
所以特别是我对所有串口的简单枚举不感兴趣,它只会显示相应数字的'COM'列表,但是该设备的真实名称和可能的设备ID(可以找到有关的信息)这是通过USB还是蓝牙连接 .
虽然我可以通过WMI获取这些信息,但是有很多与此方法相关的问题 . 特别是它的速度很慢,但它也只列出了连接的设备(蓝牙设备除外,可能会连接并显示,无论真正的连接如何)
我更喜欢用Delphi / Object Pascal编写的解决方案,但是对我来说任何其他语言都没问题(WMI访问代码是从C#复制的) .
1 回答
如果您使用可以读取注册表的编程语言/ API,请检查子树
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
.这个子键包含设备类型,设备类,实例ID . 每个实例ID都有一个具有COM名称的子项
Device Parameters\PortName
.例如,在我的系统上
例如,ID部件中的键具有附加信息
使用regedit检查您自己感兴趣的部分 . 但这应该会为您提供所需的所有信息 .