首页 > 解决方案 > 如何在第一次或第二次通话时从 USB 调制解调器串行端口获取来电显示

问题描述

我知道这是个老问题。我已经阅读了所有解决方案,它的工作,但不是很好。有时它显示来电显示,有时不显示。只显示铃声。有什么方法可以确保每次都获取来电显示。这是我目前正在使用的代码

 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.
}

} }

标签: c#callmode

解决方案


推荐阅读