Пример #1
0
        static void Main(string[] args)
        {
            List <ComPort> AllPorts = ComPort.GetAllPorts();

            AllPorts.Sort();
            PrintPorts(AllPorts, true);
            Console.CursorVisible = false;
            Console.SetCursorPosition(0, 10);

            while (true)
            {
                Console.WindowWidth  = 80;
                Console.WindowHeight = 25;
                Console.SetBufferSize(Console.WindowWidth, Console.WindowHeight);

                List <ComPort> ports = ComPort.GetAllPorts();

                // Removed ports
                Console.ForegroundColor = ConsoleColor.DarkRed;
                AllPorts.ForEach(x =>
                {
                    ComPort p = ports.Find(z => z.Port == x.Port);
                    if (p != null)
                    {
                        p.Added = x.Added;
                    }
                    else
                    {
                        Console.WriteLine(DateTime.Now + "\tCOM" + x.Port + "\t" + x.Description);
                    }
                });

                Console.ForegroundColor = ConsoleColor.Green;
                // Added ports
                ports.ForEach(x =>
                {
                    ComPort p = AllPorts.Find(z => z.Port == x.Port);
                    if (p == null)
                    {
                        Console.WriteLine(DateTime.Now + "\tCOM" + x.Port + "\t" + x.Description);
                    }
                });


                AllPorts = ports;

                ports.Sort();
                PrintPorts(ports, false);
                System.Threading.Thread.Sleep(500);
            }
        }
Пример #2
0
        public int CompareTo(object obj)
        {
            ComPort c2 = obj as ComPort;

            return(this.Added.AddMilliseconds(this.Port).CompareTo(c2.Added.AddMilliseconds(c2.Port)));
        }