C#是否提供了掃描可用COM端口的有效方法?我想在我的應用程序中有一個下拉列表,用戶可以選擇其中一個檢測到的COM端口。創建並填充下拉列表不是問題。我只需要知道如何使用C#掃描可用的COM端口。我正在使用Microsoft Visual C#2008速成版。謝謝。如何在C#中掃描COM端口?
回答
System.IO.Ports是你想要的命名空間。
SerialPort.GetPortNames將列出所有串行COM端口。
不幸的是,並行端口並不直接支持C#,因爲它們在傳統情況下很少使用。這就是說,你可以通過查詢以下注冊表項列出來:
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\PARALLEL PORTS
見命名空間的細節。
通過System.Management命名空間使用WMI。快速谷歌發現此代碼:
using System;
using System.Management;
public class Foo
{
public static void Main()
{
var instances = new ManagementClass("Win32_SerialPort").GetInstances();
foreach (ManagementObject port in instances)
{
Console.WriteLine("{0}: {1}", port["deviceid"], port["name"]);
}
}
SerialPort.GetPortNames更好的解決方案! – 2010-03-30 21:03:52
SerialPort.GetPortNames使用不保持最新的註冊表數據。如果用戶正在插拔很多東西,我發現管理類方法更可靠。 – SteveCav 2011-09-05 00:52:29
只需要枚舉端口並進入WMI即可。但是,它似乎沒有包含USB到串口適配器,或者至少它們不在列表中。使用'SerialPort.GetPortNames',他們是,並且列表立即更新。 – OregonGhost 2011-09-23 09:40:08
- 1. 掃描COM端口批處理文件
- 2. 在Java中掃描可用的COM端口
- 3. python中的端口掃描
- 4. 加速Windows C端口掃描器
- 5. ,如何實現UDP端口掃描?
- 6. Java的端口掃描器
- 7. Nmap端口掃描陣列
- 8. 掃描打開端口
- 9. Android端口掃描器
- 10. Python端口掃描器
- 11. 檢測端口掃描
- 12. MIRC端口掃描器
- 13. 如何在python中編寫偵聽'ACK'的端口掃描器?
- 14. 如何使端口號80出現在nmap掃描中?
- 15. 如何在C++中掃描字符串
- 16. 如何掃描xcode中的IP地址和端口
- 17. 在C++中讀取COM端口數據
- 18. 如何掃描單詞並存儲從C中掃描的行?
- 19. 使用線程池的端口掃描
- 20. java的端口掃描器不工作
- 21. Python的端口掃描器編輯
- 22. 創建IP和端口掃描器Python
- 23. 條碼掃描器 - 串行端口
- 24. xampp Apache端口更改/掃描
- 25. Python的端口掃描器與線程
- 26. 團結與NeuroSky公司 - 端口掃描
- 27. IP範圍和端口掃描器
- 28. 外殼腳本端口掃描器
- 29. Python端口掃描我做對了嗎?
- 30. 提高端口掃描器的性能
感謝您的額外的細節,但我真的只是列出串行COM端口(不是傳統的並行)感興趣。 – 2010-03-30 21:48:54
@Jim Fell:我第一次發佈的時候就想到了,但第二個想法決定明確平行,以防萬一。 – Randolpho 2010-03-30 21:53:26
@Randolpho我很欣賞它,因爲這只是針對LPT的Google搜索結果。 :) – 2014-01-14 14:19:37