2010-06-27 19 views
13

Có thể đọc byte trực tiếp từ modem hoặc đường dây điện thoại mà không mất bất kỳ thông tin nào không? Nếu sử dụng SerialPort sau khi đổ chuông không có gì xảy ra trên ReceiveData sự kiện.cách phát hiện id người gọi từ đường dây điện thoại?

Tôi muốn đọc thông tin id người gọi trực tiếp từ dòng. Modem của tôi không hỗ trợ Id người gọi.

Trả lời

16

Cách chính xác để phát hiện ID người gọi là sử dụng API TAPI.

Bạn có thể tìm thấy thư viện C# TAPI (gọi là ITAPI3) tại đây. http://www.julmar.com/tapi/

Kiểm tra mục nhập blog ngày 04 tháng 4 năm 2006 về một số chương trình xây dựng được liên kết với nó trên Windows 64 bit.

Và đây là mã mẫu:

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(); 
Các vấn đề liên quan