用VC6.0开发来电显示软件

用VC6.0开发来电显示软件   电话是企业与用户联系的主要方式, 怎样快速的得到用户的信息并与企业自身的管理系统结合起来.目前常用的有 两种方式:一是采用 电话语音卡,二是采用 USB接口的来电显示接收盒. 由于语音卡本身价格比较贵,使用也不方便,本文 采用USB来电显示盒来实现. USB来电显示盒采用北京海风公司的 CID1, 支持1到4路的电话来电显示.特点是采用符合USB 1.1标准, 与电话 线路并联,直接读取电话线上送来的来电号码。   1:  具体的产品驱动程序可以从 http://www.51record.com 下载 2:  来电号码的格式: 对于模拟电话线上的主叫识别信息传送及显示(Calling Identity Delivery,简称CID),目前电信局提供两种方式,即DTMF和FSK。这两种主叫号码都在被叫方未摘机时传送,即在通话建立之前传送。其中DTMF格式主叫号码在第一声振铃之前传送,FSK格式在第一声振铃和第二声振铃之间传送。DTMF方式是在第一次振铃前用DTMF音频传递,特点是发送速度慢、无校验;FSK方式是在第一次和第二次振铃之间传递,特点是发送速度快、有校验。对于FSK方式,若在第一次振铃后马上摘机,就会收不到主叫号码。在某些城市,由于部分电话局未传递主叫号码,造成本地的某些来话收不到主叫。这种情况请咨询你所在的电话局。对于DTMF方式,一般电话局仅发送主叫号码;而FSK方式,一般发送日期、时间和主叫号码。 3: VC程序代码   #include <windows.h> #include <windowsx.h> #include <winbase.h> #include <commdlg.h> #include <commctrl.h> #include <string.h> #include <stdio.h> #include <mmsystem.h>   #include "dial.h" #include "d.h" #include "resource.h" #include "swind.h"   extern HWND hGWnd;   extern HINSTANCE dsms; extern int flag,flag1; extern int LineCount,LineStatus[8]; char num[2];   BOOL WINAPI yzInitSystem() {              char buf[16];              int i;                SW_Init();              SW_SetType(1); //设置类型                 LineCount=SW_GetCount();              strcpy(buf,"共");              itoa(LineCount,num,10);              strcat(buf,num);              strcat(buf,"线");              SetWindowText(GetDlgItem(hGWnd,IDC_LINE),buf);                 for (i=0;i<LineCount;i++)                 {                         LineStatus[i]=0;  //线路状态                 }              SetTimer(hGWnd,ID_TIME,20,TimerProc);              return TRUE; }   void WINAPI yzDoWork() {  char s1[128];  char buf[128];  int i;    LineCount=SW_GetCount();  for (int line=0;line<LineCount;line++)  {     //收到CID处理     i=SW_ReceiveCID(line,buf);     if (i==-1)     {         strcpy(s1, "检查4路主叫号码接收盒是否安装!");         SetWindowText(GetDlgItem(hGWnd,IDC_CID),s1);         return;     }     else     if (i!=0)     {      strcpy(s1,"线");         itoa(LineCount,num,10);      strcat(s1,num);      strcat(s1,":");         strcat(s1,buf);            SetWindowText(GetDlgItem(hGWnd,IDC_CID),s1);     }      } // end for      }   void WINAPI  yzDial() { }   void WINAPI  yzOffHook() { }   void WINAPI  yzHangUp() { }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值