经过一番摸索之后,我设法在我的系统上找到了 USB 到 RS232 转换器的 com 端口号。我在当前系统中有 15 个。 我现在需要做的是检测何时连接或断开连接,以便我可以更新我的表。我可以弄清楚如何检测 USB 存储设备,但同样不适用于 USB 到 RS232 转换器。请问有人知道我如何检测到这个吗?
这是我用来计算转换器使用的 com 端口的代码片段
private void btn_tst2_Click(object sender, EventArgs e)
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_PnPEntity WHERE ClassGuid=\"{4d36e978-e325-11ce-bfc1-08002be10318}\"");
foreach (ManagementObject queryObj in searcher.Get())
{
rtxbx_output.AppendText(queryObj["Name"].ToString() +"\r");
}
}
最佳答案
您可以创建某种线程或任务来查询从方法 System.IO.Ports.SerialPort.GetPortNames()
返回的数组:当此数组更改或添加新元素时,表示系统已经连接了一个新的串口。
当然,它会返回您系统上的每个串行端口,但是您可以使用您的代码片段选择其中哪些是 USB-RS232 转换器。
关于c# - 连接或断开时检测 USB 到 RS232 转换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080604/