是否可以直接从调制解调器或电话线读取字节而不会丢失任何信息?
如果在响铃后使用SerialPort
,则ReceiveData
事件无效。
我想直接从该行读取来电显示信息。我的调制解调器不支持来电显示。
答案 0 :(得分:16)
检测来电显示的正确方法是使用TAPI API。
您可以在此处找到C#TAPI库(称为ITAPI3)。 http://www.julmar.com/tapi/
查看2006年4月4日的博客文章,了解有关在64位Windows上构建与其关联的程序的一些注意事项。
以下是示例代码:
TTAPI tapi = new TTAPI();
tapi.TE_CALLINFOCHANGE += (sender, e) =>
{
if (e.Cause == CALLINFOCHANGE_CAUSE.CIC_CALLERID)
{
Console.WriteLine(e.Call.get_CallInfo(CALLINFO_STRING.CIS_CALLERIDNUMBER));
Console.WriteLine(e.Call.get_CallInfo(CALLINFO_STRING.CIS_CALLERIDNAME));
}
}
tapi.Initialize();
// ...
// Keep the TAPI object in memory so it can listen for events
// ...
tapi.ShutDown();