监视串口变动

来源:互联网 发布:js 提取html中的文本 编辑:程序博客网 时间:2024/04/29 02:15

监视串口变动

thread = new Thread(Watch)                {                    IsBackground = true                };                thread.Start();
private static bool TryGetPortNames(out IEnumerable<string> portNames)            {                bool result;                try                {                    portNames = Port.GetNames().Where(item => item != null).ToList();                    result = true;                }                catch                {                    portNames = new List<string>();                    result = false;                }                return result;            }            private void Watch()            {                while (true)                {                    IEnumerable<string> currentPortNames;                    if (TryGetPortNames(out currentPortNames))                    {                        var currentPortNameList = currentPortNames.ToList();                        if (currentPortNameList.Any(item => portNameList.Contains(item) == false) || //增端口新                            portNameList.Any(item => currentPortNameList.Contains(item) == false))//端口移除                        {                            lock (syncThreadLock)                            {                                portNameList.Clear();                                portNameList.AddRange(currentPortNameList);                            }                            RaisePortNamesChangedEvent();                        }                    }                    Thread.Sleep(1);                }            }        }







0 0
原创粉丝点击