我想用56K调制解调器获取给家庭电话打来的号码。是否有办法用C#实现这一点?
我想用56K调制解调器获取给家庭电话打来的号码。是否有办法用C#实现这一点?
并非所有调制解调器都支持来电显示功能。而且,对于那些支持该功能的调制解调器,在不同的制造商之间实现方式也是不同的。
来电显示信息通过串行数据传输,因此您需要使用TAPI库(或Windows的HyperTerminal进行测试)才能获取到它。来电号码通常会在第一声响铃和第二声响铃之间出现。
您需要向调制解调器发送命令以激活来电显示功能。通常为:
AT#CID=1
(或AT+VCID=1
)OK
请查看调制解调器的文档。
当有电话呼入时,调制解调器将接收到呼叫字符串。通常为:
RING
然后呼叫者ID文本将进来。如果我没记错的话,它的形式为:
NMBR=XXXXXXXXXX
[我正在寻找一个参考链接。我找到后会贴上链接]
更新:啊,找到了一个。请查看此页面以获取各种调制解调器的命令和连接字符串:
这是可能的,但有一些关于它的事情你应该注意:
serialPort1.Open(); // 打开串口 serialPort1.WriteLine("AT#cid=1" + System.Environment.NewLine); // 发送指令 "AT#cid=1" 到串口,其中 serialPort1 是串口控制器 更多细节请参考以下链接:http://www.itworld2.com/frmsCsharp.aspx