絕大多數 USB 讀卡器(身份證、IC 卡、RFID)在 Windows 下表現為 虛擬串口 (COM),驅動安裝後在設備管理器「端口」下出現 USB Serial Port (COMx)。
using System.IO.Ports;
SerialPort sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
sp.DataReceived += (sender, e) => {
string data = sp.ReadExisting(); // 或 ReadLine()
// 解析 data 獲取卡號
this.Invoke(() => txtCardNo.Text = data.Trim());
};
sp.Open();
NewLine 屬性設置為設備發送的換行符(\r\n/\r/\n),配合 ReadLine() 按行讀取Invoke 回主線程若設備為 HID 設備(無虛擬串口),需使用 HidLibrary 等庫通過 VID/PID 直接通信。