如果有人感兴趣...
我在C#中创建了一个监视套接字的Windows服务。如果客户端连接到该套接字,则该服务会收集该端口上的端口名称和设备标识,并通过com端口以字符串形式发送数据,然后客户端可以解析字符串以获取所需的数据。
在我的情况下,字符串传递是: “ACPI \ PNP0501 * PNP0501,COM1,PCI \ VEN_8086 & DEV_29B7 & SUBSYS_02111028 & REV_02 PCI \ VEN_8086 & DEV_29B7 & SUBSYS_02111028 PCI \ VEN_8086 & DEV_29B7 & CC_070002 PCI \ VEN_8086 & DEV_29B7 & CC_0700,COM3,USB \ Vid_067b & Pid_2303 & Rev_0400 USB \ Vid_067b & Pid_2303,COM5"
当我解析它,我可以看到ACPI \ PNP0501 * PN P0501是COM 1的设备ID,COM3有三个设备ID,COM5有两个设备ID。
这可能不是最好的方式来处理这个问题,但它足够满足我的需求,它可以让我从JNI中解脱出来。 :)
我已经这样做了,但它没有给我使用该端口的设备的设备ID,它只是为每个端口返回ComPortIdentifier。使用它你可以得到端口名称(即COM3),但不是设备ID,所以我仍然需要知道我正在查找的端口。 – beyerss 2009-05-20 10:40:25
你到底需要什么?从你的问题看来,你想枚举所有可用的端口来找到你正在寻找的端口,这样你就不需要改变配置文件。这应该对你有所帮助 - 除非你提出了错误的问题。 :) – Bombe 2009-05-20 11:04:36