检测 USB 设备连接到哪个串行端口 (COM)

Detect on which serial port (COM) is connected an usb device

我必须找到所有连接的 USB 设备并检测插入的 COM 端口。您有在 C# 中执行此操作的想法吗?

我目前已经设法获取了所有设备的PID和VID,但我找不到它们连接在哪些COM端口上...

预先感谢您的帮助。

我认为没有用于查找此信息的固有协议。 SerialPort 本质上不知道另一边是什么。打开端口(无论是否插入任何设备都可以工作)并尝试通过端口进行通信将是您的工作。

如果您的通信尝试成功,那么您就知道有一个设备已连接。否则你可以假设(但不能确定,因为设备可以决定不说话)这个端口没有设备。

提示:您可以获取此命令的所有端口名称:

string []  allPortNames = System.IO.Ports.SerialPort.GetPortNames();

现在您可以遍历名称并检查