如果有人感興趣...
我在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