示例#1
0
        //Catch event from detector if COM is connect or dis connect from pc
        private void PortsChanged(object sender, PortsChangedArgs e)
        {
            if (e.EventType == EventType.Insertion)
            {
                if (serialPortMessage == null)
                {
                    ScanPorts();
                }
            }
            else
            {
                serialPortMessage.EndRead();
                var foundFlag = false;
                foreach (var port in e.SerialPorts)
                {
                    if (port == serialPortMessage.name)
                    {
                        foundFlag = true;
                        break;
                    }
                }

                if (!foundFlag)
                {
                    serialPortMessage.Dispose();
                    serialPortMessage = null;
                }
                else
                {
                    serialPortMessage.StartRead();
                }
            }
        }
示例#2
0
        private void OnPortsChanged(object sender, PortsChangedArgs e)
        {
            switch (e.EventType)
            {
            case SerialPortServiceEventType.Insertion:
            case SerialPortServiceEventType.Removal:
                Invoke(() => RefreshSerialPorts());
                break;

            default:
                throw new InvalidOperationException();
            }
        }
示例#3
0
        private static void SerialPortService_PortsChanged(object sender, PortsChangedArgs e)
        {
            if (e.EventType == EventType.Removal && modem != null && !e.SerialPorts.Contains(modem.PortName))
            {
                DeviceRemove = true;
                Console.WriteLine(string.Format("{0}: Device removed. Please connect device ...", DateTime.Now));
                return;
            }

            if (e.EventType == EventType.Insertion && DeviceRemove)
            {
                System.Diagnostics.Process.Start(System.AppDomain.CurrentDomain.BaseDirectory + "SmsProviderServerService.exe");
                Environment.Exit(0);
            }
        }
示例#4
0
 private void SerialPortService_PortsChanged(object sender, PortsChangedArgs e)
 {
     try
     {
         string[] allPortNames = System.IO.Ports.SerialPort.GetPortNames();
         _property = allPortNames.ToList();
         this.Dispatcher.Invoke((Action)(() =>
         {
             comSelect_CmBx.ItemsSource = _property;
             if (!serialPort.IsOpen)
             {
                 (openPort_BTN).Background = System.Windows.Media.Brushes.LightGray;
                 (closePort_BTN).Background = System.Windows.Media.Brushes.Red;
             }
         }));
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error In COM Port : " + ex.Message, "ERROR", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }