【问题标题】:C# .net: distinguishing between a direct serial connection and a usb-to-serial connectionC# .net:区分直接串行连接和 USB 到串行连接
【发布时间】:2015-11-09 09:51:38
【问题描述】:

我对 .NET 中的串行端口有疑问

我正在使用 SerialPort.GetPortNames() 来获取端口名称列表

有没有办法区分虚拟串口和非虚拟串口?

【问题讨论】:

  • 没有。虚拟端口旨在完全模拟原生端口,因此即使是旧软件也能识别它们。
  • 为什么要/需要区分它们?也许您在这里尝试解决错误级别的问题?
  • 我被要求区分应用程序的 USB 到串行通信和直接串行通信

标签: c# .net serial-port port virtual


【解决方案1】:

对于某些 USB 设备,您可以间接从 Windows 注册表中读取信息:

可在此处找到枚举的 USB 串行设备: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serenum\Enum

此 USB 设备的特定 COM 端口名称: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_067B&PID_2303\5&dc4a972&0&14\设备参数

在上面的示例中,字符串“VID_067B&PID_2303\5&dc4a972&0&14”属于 Prolific USB-to-Serial 设备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-12
    • 1970-01-01
    • 2023-04-04
    • 2021-10-10
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多