Windows应用程序从RJ11端口读取来电号码
问题描述:
我需要创建一个读取COMX来电号码的Windows应用程序,以下是我的代码有:Windows应用程序从RJ11端口读取来电号码
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
if (!serialPort1.IsOpen)
{
try
{
serialPort1.Open();
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
delegate void OutputUpdateDelegate(string data);
private void OutputUpdateCallback(string data)
{
txtReceive.Text += data;
}
private void DataRec(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
try
{
string data = serialPort1.ReadExisting();
txtReceive.Invoke(new OutputUpdateDelegate(OutputUpdateCallback),data);
}
catch (System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}
,因为我不有一个调制解调器测试,我需要知道如何创建一个假的测试呼叫,以及如何只读取电话号码,而不是读取来自“ReadExisting()”方法的整个字符串,除了拆分字符串还有其他方法?如果没有传入的字符串是什么样子?
请指教。
答
我终于买了一个与串口通信的主叫号码产品,并提供了以下呼叫者号码:R99999999E和我做了相应的代码修改以读取号码,并且所有事情都按预期工作。
注意:TRENDnet调制解调器“TFM-561u”不支持来电显示,实际上他们的支持回复我说TRENDNet没有支持来电显示的产品。
获取调制解调器的编程手册以获取响应样本。您的RJ11电缆是否在您的计算机中使用9/25针连接器,USB或以太网连接?测试代码的消息部分的简单方法是与客户端和服务器建立虚拟的TCP连接。服务器将模拟调制解调器和客户端您的PC发送消息。 – jdweng
谢谢@jdweng谢谢你的提示,我搜索虚拟TCP连接,我找到一种方法来测试超级终端,但我不能做一个假的电话(例如输入一个数字+999999999)所有的东西我能够在终端上写下代码,并在代码中获取价值。至于回答你的问题我打算使用的调制解调器有使用9/25针连接器的RJ11端口。 –
@jdweng,对不起,我打算使用的调制解调器有RJ11端口,而不是上面提到的任何一种。 –