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); } }
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); }