Как получить идентификатор вызывающего абонента от последовательного порта USB модема при первом или втором вызове - PullRequest
0 голосов
/ 02 марта 2019

Я знаю, что это старый вопрос.Я прочитал все решения, и это работает, но не хорошо.Иногда это показывает идентификатор звонящего, а иногда нет.Показывает только звонок. Есть ли способ, чтобы каждый раз получать идентификатор звонящего. Вот код, который я сейчас использую

 public Form1()
{
    InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
    SetModem();

}


public void SetModem()
{
    sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One);
    this.sp.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
    sp.Open();
}

void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    try
    {
        Thread.Sleep(500);
        string x = sp.ReadLine(); // will read to the first carriage return
        this.BeginInvoke(new SetTextDeleg(si_DataReceived), new object[] { x });
    }
    catch
    { }
}

private void si_DataReceived(string data)
{
    dataReceived = data.Trim();
    richTextBoxEx1.Text = dataReceived;
    // Do whatever with the data that is coming in.
}

}}

...