通过给定的PnpDeviceID确定COM端口号:COM端口设备的DeviceID是否始终为“COMx”?

时间:2013-01-25 13:09:34

标签: c# serial-port wmi device-manager

我需要确定即插即用设备的COM端口。我有PnPDeviceID。这是一个蓝牙usb加密狗。

因此,我使用WMI检索有关设备的信息,如第一个示例at this website中所示。 WMI查询的结果包含属性“DeviceID”,它是一个字符串。我的案例中的值是“COM3”。

我得到相同的值,当我这样做(而不是使用WMI)

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

现在我想知道,如果COM-Devices的DeviceId总是具有“COMx”格式?我实际上需要一个名为“Port”的属性,其值为整数。

还有另一种方法可以覆盖注册表,但我不知道,如果这是建议的话。

1 个答案:

答案 0 :(得分:0)

见Hans Passant的评论。它们通常被命名为COMx。你应该让用户选择。

对我来说更重要:通常没有必要将com端口号作为整数,因为Com-port名称(字符串)被广泛用作标识符,例如使用System.io ...它们使用字符串“COM3”或驱动程序特定名称。