最簡單的查看方式:
註: 如果出現 Cannot resolve symbol 'SerialPort' ,則需要安裝 System.IO.Ports 套件
但其實這種方式不太準確,例如筆者有使用虛擬的方式連接 COM3 和 COM4,在筆者使用上面的程式碼時 COM3 和 COM4 會重複輸出:
第二種方式:
註: 需要安裝 System.Management 套件。
var names = SerialPort.GetPortNames();
foreach (var name in names)
{
Console.WriteLine(name);
}
註: 如果出現 Cannot resolve symbol 'SerialPort' ,則需要安裝 System.IO.Ports 套件
但其實這種方式不太準確,例如筆者有使用虛擬的方式連接 COM3 和 COM4,在筆者使用上面的程式碼時 COM3 和 COM4 會重複輸出:
COM3
COM5
COM6
COM4
COM3
COM4
第二種方式:
var searcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_SerialPort");
var ports = searcher.Get();
if (ports.Count == 0)
{
Console.WriteLine("沒有可用的序列埠。");
}
else
{
foreach (ManagementObject port in ports)
{
// 輸出序列埠的名稱
Console.WriteLine(port["DeviceID"]);
}
}
註: 需要安裝 System.Management 套件。
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com