Как автоматически подключить gsm-модем к доступным COM-портам (без combobox)
ЭТОТ ВОПРОС МОЖЕТ БЫТЬ ДУБЛИКАТОМ, НО НЕ ЯВЛЯЕТСЯ. после долгого периода поиска в интернете и безрезультатного результата, то пришлось обратиться за помощью.
Все решения применяются для загрузки доступных портов в поле со списком, и пользователь проверяет один из них на ходу. Но функция автоматизации затем умирает.
таким образом,
я ищу помощь в том, как модем может автоматически подключаться из доступных портов без взаимодействия с пользователем (удобство использования)
ДЛЯ ПОЛЯ СО СПИСКОМ ОН РАБОТАЕТ НОРМАЛЬНО;
Что я уже пробовал:
using GsmComm.GsmCommunication; using GsmComm.PduConverter; using GsmComm.Server; using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Data; using System.Drawing; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace COMM_All { public partial class Comm_F : Form { public Comm_F() { InitializeComponent(); } private void COM_PORTS() { string[] ports = SerialPort.GetPortNames(); txtGPort1.Items.AddRange(ports); txtGPort2.Items.AddRange(ports); } private void Form1_Load(object sender, EventArgs e) { COM_PORTS(); } private void Modem1_Click(object sender, EventArgs e) { if (txtGPort1.Text == "") { MessageBox.Show("Invalid Port Name"); return; } comm = new GsmCommMain(txtGPort1.Text, 9600, 8); Cursor.Current = Cursors.Default; bool retry; do { retry = false; try { Cursor.Current = Cursors.WaitCursor; comm.Open(); Cursor.Current = Cursors.Default; //MessageBox.Show("Modem Connected Sucessfully"); txtGStatus1.Text = "Connected Sucessfully"; comm.EnableMessageNotifications(); MessageBox.Show("Message notifications activated."); } catch (Exception) { Cursor.Current = Cursors.Default; if (MessageBox.Show(this, "GSM Modem is not available", "Check", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning) == DialogResult.Retry) retry = true; else { return; } } } while (retry); } } }
Richard MacCutchan
Вы можете попробовать подключиться к каждому порту по очереди, пока один из них не преуспеет.
honey the codewitch
О, это может быть весело, в зависимости от того, что находится на других COM-портах. :П
Gerry Schmitz
Не говоря уже о сопоставлении скорости передачи данных и т. д.
Richard MacCutchan
Веселье - вот что это такое. :)
Robert S4r
Как же так? Код....?