예제 #1
0
 public bool ConnectComPortGSMSMS(BOComPortGSMSMS com)
 {
     if (_smsGSMPort == null || !IsDeviceConnected || !_smsGSMPort.IsOpen)
     {
         if (com != null)
         {
             try
             {
                 _smsGSMPort.PortName  = com.ComPortName;
                 _smsGSMPort.BaudRate  = 9600;
                 _smsGSMPort.Parity    = Parity.None;
                 _smsGSMPort.DataBits  = 8;
                 _smsGSMPort.StopBits  = StopBits.One;
                 _smsGSMPort.Handshake = Handshake.RequestToSend;
                 _smsGSMPort.DtrEnable = true;    // Data-terminal-ready
                 _smsGSMPort.RtsEnable = true;    // Request-to-send
                 _smsGSMPort.NewLine   = Environment.NewLine;
                 _smsGSMPort.Open();
                 IsDeviceConnected = true;
             }
             catch (Exception e)
             {
                 IsDeviceConnected = false;
                 throw new Exception("Comport Connection Failed." + e.Message);
             }
         }
         else
         {
             IsDeviceConnected = false;
         }
     }
     return(IsDeviceConnected);
 }
 private void cmbxPort_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         ComboBox cmb           = (ComboBox)sender;
         int      selectedIndex = cmb.SelectedIndex;
         var      selectedValue = cmb.SelectedValue;
         dynamic  selectedPort  = cmb.SelectedItem;
         var      temp          = (string)selectedPort;
         selectedPort = obj.GetGSMSMSComportList()?.Where(c => c.ComPortANDDescription == temp)?.FirstOrDefault();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #3
0
        public List <BOComPortGSMSMS> GetGSMSMSComportList()
        {
            List <BOComPortGSMSMS> BOComPortGSMSMS = new List <BOComPortGSMSMS>();

            try
            {
                ConnectionOptions options = new ConnectionOptions();
                options.Impersonation    = ImpersonationLevel.Impersonate;
                options.EnablePrivileges = true;
                string          connString = $@"\\{Environment.MachineName}\root\cimv2";
                ManagementScope scope      = new ManagementScope(connString, options);
                scope.Connect();

                ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_POTSModem");
                ManagementObjectSearcher   search     = new ManagementObjectSearcher(scope, query);
                ManagementObjectCollection collection = search.Get();

                foreach (ManagementObject obj in collection)
                {
                    string portName        = obj["AttachedTo"].ToString();
                    string portDescription = obj["Description"].ToString();

                    if (portName != "")
                    {
                        BOComPortGSMSMS com = new BOComPortGSMSMS();
                        com.ComPortName        = portName;
                        com.ComPortDescription = portDescription;
                        BOComPortGSMSMS.Add(com);
                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception("Comport Not Found." + e.Message);
            }

            return(BOComPortGSMSMS);
        }