コード例 #1
0
        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();
        }
コード例 #2
0
        //搜索串口名
        private void search_serial()
        {
            Thread threadDeveiceChanged = new Thread(() =>
            {
                AddValuablePortName(MainWindowMonitor.MulGetHardwareInfo(MainWindowMonitor.HardwareEnum.Win32_PnPEntity, "Name"));
            });

            threadDeveiceChanged.Start();
        }