广州高深商电子技术有限公司 用户登录
用户注册 ......
首页 公告 收款机 抽奖机 来电管理 数据采集 台球灯控 软件开发 综合 会员下载 发货查询
公司首页
当前位置:首页>> 来电管理>> 下载 >>正文
来电管理器服务程序
chen在2006/6/16发表,被浏览11180
适合对象:
    “记得”来电显示管理器的二次开发。服务程序提供了Socket服务和查询函数,软件开发商可利用Socket服务DLL提供的接口函数进行查询、获取来电信息。


服务程序使用及二次开发示意图




文件:(下载请到会员下载
    cdTele.dll      来电号码查询动态库
    TeleListen.exe  来电显示监听程序,适合于Windows98及以上的版本
    TeleLC.exe      来电显示客户端监听程序,用于监听连接在其它计算机的来电显示,适合于Windows98及以上的版本
    JD2000.exe      客户端的来电显示程序



说明:
    TeleListen.exe工作原理都相同:监听来电显示管理器,并把来电号码存放在来电池中;如果有Scoket的客户端连接,则当有来电时:(1)设置了自动发送来电,则向客户端发送来电号码和来电时间;(2)否则向客户端发送“call”,通知客户端已经有来电,客户端向服务程序发送“get”指令,获取来电号码。同时提供DLL的查询接口,其它程序也可通过函数查询和索取来电号码。
    TeleLC.exe是运行在其它计算机的来电显示客户端监听程序,为没有安装来电显示管理器的计算机提供来电显示的二次开发(调用DLL函数)。
    JD2000.exe分为单机版和网络版,单机版只能运行在连接了来电显示盒的计算机,用于即时显示来电客户信息;网络版是运行在没有安装来电显示盒的计算机上,使多台计算机同时显示来电客户信息。网络版的使用条件:局域网上有一台计算机连接了来电显示管理器,并在此计算机上运行了TeleListen.exe。
    cdTele.dll是公用动态库,提供查询接口函数。


名词解释:来电池
    来电池是指监听程序内的一个数组 [0..100],用来保存来电号码和来电时间。数组从0开始计数,把第1个来电号码保存在第0个数据单元,把第2个来电号码保存在第1个数据单元,如此类推。当取走来第1个来电号码(第0个数据单元)后,自动把第2个号码移位到第0个数据单元,如此类推。


TeleListen.exe使用方式

    是一个执行文件,用来监听电话来电,并提供Socket和DLL调用服务。如果希望多台计算机同时显示来电客户信息,最好在连接来电显示盒的计算机上,把此文件放在系统的启动组中,或修改注册表来让系统自动运行。运行后在屏幕的左下脚有一个图标,可设置运行状态。


TeleLC.exe使用方式

    是一个执行文件,用来监听网络上连接了来电显示管理器的计算机,为本机提供来电显示查询功能。只有使用DLL函数进行二次开发的程序才需要使用它。运行后在屏幕的左下脚有一个图标,可设置运行状态。


JD2000.exe使用方式

    是一个执行文件,当有电话接入时自动显示来电号码及相应的用户信息。默认使用Access数据库保存来电记录,如果需要使用MS SQL Server保存来电信息,则需要自行安装SQL Server数据库平台。是一个免安装的绿色软件,分为单机版和网络版。
    单机版运行在连接了来电显示盒的计算机上,不用再运行其它程序。
    网络版运行在没有安装来电显示盒的计算机上,它通过监听服务器(安装了来电显示盒并运行了TeleListen.exe),实现多台计算机同时显示来电信息。使用网络版的JD2000,在第一次运行时,必须设置服务器的IP地址。


cdTele.dll使用方式

    提供查询和获取来电号码的函数。

使用方法:
    1 启动程序时调用OpenMapFile或StartTeleListen。
    2 打开来电管理器COM端口:OpenComPort;如果服务程序状态设置为自动打开端口,则这一步可省略。
    3 检查是否有来电:CountShareData;这一步不是必须的。
    4 使用GetShareNo或GetShareData获取来电;可定时(例如每隔1秒)不断使用GetShareData(0)获取来电号码。也可定义回调函数DoTeleComing,在有来电时自动调用。
    5 结束程序时调用CloseMapFile或StopTeleListen。

各函数功能如下:

function OpenMapFile: LongBool; stdcall;
//打开服务程序共享内存,如果使用DLL函数,建议在程序启动时调用

function CloseMapFile: LongBool; stdcall;
//关闭服务程序共享内存,调用了OpenMapFile后,在程序结束时调用

//启动监听程序TeleListen.exe,一般放在程序启动时
function StartTeleListenEx(const Path: PChar; const Hide: Boolean=True): LongBool;
stdcall;
//或
function StartTeleListen(TeleComingProc: TOnTeleComing=nil; const Hide: Boolean=True): LongBool; stdcall;

//回调函数类型,当有来电时自动调用,并返回来电号码no和来电时间t
TOnTeleComing=procedure(var no: PChar; var t: PChar); stdcall;

//关闭监听程序TeleListen.exe,一般用在关闭程序时
function StopTeleListen: LongBool; stdcall;


function GetShareData(const i: Integer; var No: PChar; var T: TDateTime): LongBool; stdcall;
    获取来电号码和来电时间。如果有来电,则返回True,否则返回False。获取来电后,删除监听程序内的来电池中的该来电号码。
    i:获取来电池中的第i个来电号码,从0开始计数,0为最先来电;
    No:获取的来电号码;
    T:获取的来电时间。

function ReadShareData(const i: Integer; var No: PChar; var T: TDateTime): LongBool; stdcall;
    获取来电号码和来电时间。如果有来电,则返回True,否则返回False。获取来电后,不删除来电池中的该来电号码。

function GetShareNo(const i: Integer): PChar; stdcall;
    返回来电池中的第i个来电号码。获取来电后,删除来电池中的该来电号码。

function ReadShareNo(const i: Integer): PChar; stdcall;
    返回来电池中的第i个来电号码。获取来电后,不删除来电池中的该来电号码。

function DelShareData(const i: Integer): LongBool; stdcall;
    直接删除来电池中的第i个来电号码。

function ClearShareData: LongBool; stdcall;
    直接删除来电池中的所有来电号码。

function CountShareData: Integer; stdcall;
    返回来电池中有几个来电号码。

function GetComportState: LongBool; stdcall;
    返回来电管理器的COM端口打开与否

function ReadComPort: Byte; stdcall;
    返回连接来电管理器的COM端口号。1表示COM1,2表示COM2,如此类推

function GetSocketState: LongBool; stdcall;
    返回监听服务程序的Socket服务是否打开

function ReadSocketPort: Byte; stdcall;
    返回监听服务程序的Socket服务端口号

function OpenComport: LongBool; stdcall;
    打开来电管理器的COM端口,并返回打开状态

function CloseComport: LongBool; stdcall;
    关闭来电管理器的COM端口,并返回打开状态

function ChangeComport(const Port: Byte): LongBool; stdcall;
    修改来电管理器的COM端口,并返回打开状态。1表示COM1,2表示COM2,如此类推

function OpenSocket: LongBool; stdcall;
    打开TeleListen.exe的Socket服务,返回Socket服务状态

function CloseSocket: LongBool; stdcall;
    关闭TeleListen.exe的Socket服务,返回Socket服务状态

function ChangeSocketPort(const Port: Integer): LongBool; stdcall;
    修改TeleListen.exe的Socket服务端口,并返回打开状态

function DialTeleNo(No: PChar): LongBool; stdcall;
    回拨电话,如果NO为空,则重拨

function ReadDialNo: PChar; stdcall;
    返回上次拨出电话

function ShowTeleServerState: Integer; stdcall;
    设置监听服务程序的运行状态

function ShowVer: LongBool; stdcall;
    显示来电显示器的版本


====以下函数适用于TeleLC.exe====

function ChangeSocketAddress(addr: PChar): LongBool; stdcall;
    修改TeleLC.exe的连接来电显示管理器的服务器地址

function ReadSocketAddress: PChar; stdcall;
    返回TeleLC.exe中的连接服务器地址



Socket服务

    服务程序提供Socket服务(默认),最大可连接数为5,Socket默认端口为3825;可通过修改ini(状态设置)来禁止Socket服务和改变Socket端口号。

使用方法:
    1 使用ClientSocket连接服务器。如果是本机,ClientSocket的IP地址设为127.0.0.1,端口设为3825。
    2 与服务器建立连接后,如果有来电,服务器返回call n。n表示目前有第n个来电。
    3 当有来电时,发送指令get到服务器,服务器返回来电号码。如果有多个来电(n>0),可多次使用get指令。
    4 服务器响应get指令,返回来电号码。
    5 退出程序时请关闭Socket连接。

通讯协议:
1. time
    返回时间
2. open
    打开来电显示管理器COM口,并返回打开状态。注:一般不需要特别地打开COM口,服务启动自动会打开COM口
3. close
    来电显示管理器COM口,并返回状态。
4. set
   set port COM1
    改变来电显示管理器COM口为COM1,并返回状态。修改COM口后,服务程序会记住修改,以后都使用新的COM口。
   set SocketPort 3825
    改变Socket服务端口为3825;修改服务端口后,需重新启动计算机。
5.
    有来电时,服务自动发送信息到各客户端,例如“#38259081 2006-6-15 10:28:30”表示有一个来电,号码为38259081,时间为2006-6-15 10:28:30。
6. read
    读取最新的来电号码,不删除服务程序内的来电池。
   read n
    读取第n个来电号码。n从0开始计数,n越大,表示越后的来电。
   read all
    读取来电池中的所有号码。从0开始读。
7. del
    删除来电池中的第一个(n=0,最先来电)号码。
   del n
    删除来电池中的第n个来电号码,n减1。
   del all
    删除来电池中的所有号码,n=0。
8. get
    读取来电池中的第一个(n=0,最先来电)号码,同时删除之。
   get n
    读取来电池中的第n个来电号码,同时删除之。
   get all
    读取并删除来电池中的所有号码,n=0。
   get port
    返回来电显示管理器的当前使用COM口,例如COM1。
   get ver
    返回来电显示管理器的版本。
9. count
    返回服务程序的来电池目前有多少个来电号码。
10. dial
    dial xxxxxxxx
    回拨电话xxxxxxxx。
    dial
    重拨。
10. conn
    返回本Socket连接的顺序号。
    conn count
    返回服务程序目前有多少个Socket连接。
    conn n
    返回服务程序第n个Socket连接的客户端IP地址;n从0开始。


有不明之处可到留言板留言。
【相关文章】
来电管理器服务程序
【同类文章】
电脑收发短信(手机盒)OC…
电话语音盒演示程序
来电显示演示程序
英文版来电显示管理软件
来电显示管理软件安装光盘下载
USB接口的来电管理器程序
来电管理器使用手册
专业版的来电显示管理程序
电脑来电管理器安装软件
来电管理器数据迁移工具

广州高深商电子技术有限公司

地址:天河北路908号、高科大厦B座2704
电话:020-38259081、38258857
电子邮箱:gaoykosen@foxmail.com