private void SerialUpdate(object sender, EventArgs e) { Thread threadDeveiceChanged = new Thread(() => { string[] portnames = MainWindowMonitor.MulGetHardwareInfo(MainWindowMonitor.HardwareEnum.Win32_PnPEntity, "Name"); Dispatcher.Invoke(new Action(() => { if (turnOnButton.Content.Equals("关闭串口")) { bool flag = true; //查找所有存在的串口 for (int i = 0; i < portnames.Length; i++) { if (portnames[i].Contains(serial.PortName)) { flag = false;//不是本串口被拔 } } if (flag == true)//所有存在的串口中找不到已经打开的串口 { Close_Port(); AddValuablePortName(portnames); statusTextBlock.Text = "设备被拔出!"; } } else { AddValuablePortName(portnames); } })); }); threadDeveiceChanged.Start(); }
//搜索串口名 private void search_serial() { Thread threadDeveiceChanged = new Thread(() => { AddValuablePortName(MainWindowMonitor.MulGetHardwareInfo(MainWindowMonitor.HardwareEnum.Win32_PnPEntity, "Name")); }); threadDeveiceChanged.Start(); }