Действительно ли возможно считать байты непосредственно из модемной или телефонной линии, не теряя информации? Если использование SerialPort
после вызова ничего происходит на ReceiveData
событие.
Я хочу считать информацию об идентификаторе вызывающего абонента непосредственно из строки. Мой модем не поддерживает Идентификатор вызывающего абонента.
Правильный способ определения идентификатора вызывающего абонента - использовать TAPI API.
Здесь вы можете найти библиотеку C # TAPI (называемую ITAPI3). http://www.julmar.com/tapi/
Проверьте запись в блоге от 4 апреля 2006 г., чтобы узнать о создании программ, связанных с ней, в 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();