使用C#开发纽曼USB来电小秘书客户端小结

王朝学院·作者佚名  2016-05-17
窄屏简体版  字體: 小  |  中  |  大  |  超大  

使用C#开发纽曼USB来电小秘书客户端小结在前面用C#开发完CRM的来电弹屏之后,有些客户有了新的要求,他们希望不但能够实现来电弹屏,更希望能够将呼入呼出的电话录音并上传到CRM服务器上,方便日后跟踪记录。于是便有了来电小秘书客户端的开发。 来电小秘书客户端的开发是基于纽曼USB来电通客户端的基础上进行开发的,由于纽曼USB来电通的硬件没有录音功能,于是硬件上使用了纽曼的另一个硬件产品来电小秘书,虽然是同一个厂家的产品,可是它们的API却是完全不兼容,更烦的是,来电小秘书API没有来电的回调接口,无法通过回调触发程序,也没有C#的Demo,很多功能只能通过一个不是那么详细的文档和一个Delphi的Demo摸索着做了,经历了一些挫折和困惑,终于完成了这个客户端程序。 首先,开发要做的就是与硬件的API进行沟通,依然通过C#的P/Invoke来完成,以下是来电小秘书的P/Invoke代码。

C#代码usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Runtime.InteropServices;namespaceWindowsapplication1{classLDT1{[DllImport("usbms.dll",EntryPoint="LoadDRV")]publicstaticexternintLoadDRV();[DllImport("usbms.dll",EntryPoint="EnableCard")]publicstaticexternintEnableCard();[DllImport("usbms.dll",EntryPoint="StopSigCheck")]publicstaticexternintStopSigCheck(intHandle);[DllImport("usbms.dll",EntryPoint="ReSetUsb")]publicstaticexternintReSetUsb(intHandle);[DllImport("usbms.dll",EntryPoint="HangUp")]publicstaticexternintHangUp(intHandle);[DllImport("usbms.dll",EntryPoint="InitDtmfBuf")]publicstaticexternintInitDtmfBuf(intHandle);[DllImport("usbms.dll",EntryPoint="SetDialPara")]publicstaticexternintSetDialPara(UInt16RingBack1,UInt16RingBack0,UInt16BusyLen,UInt16RingTimes,UInt16SendNoSignalLen);[DllImport("usbms.dll",EntryPoint="DisableCard")]publicstaticexternintDisableCard();[DllImport("usbms.dll",EntryPoint="FreeDRV")]publicstaticexternintFreeDRV();[DllImport("usbms.dll",EntryPoint="GetDtmfCode")]publicstaticexternintGetDtmfCode(UInt16Line);[DllImport("usbms.dll",EntryPoint="IsRing")]publicstaticexternboolIsRing(UInt16Line);[DllImport("usbms.dll",EntryPoint="GetCallerIDStr")]publicstaticexternUInt16GetCallerIDStr(UInt16Line,StringBuilderIDStr);[DllImport("usbms.dll",EntryPoint="IsOffHook")]publicstaticexternboolIsOffHook(UInt16Line);[DllImport("usbms.dll",EntryPoint="StartRecordFile")]publicstaticexternboolStartRecordFile(UInt16Line,stringFileName,UInt32dwRecordLen);[DllImport("usbms.dll",EntryPoint="CheckRecordEnd")]publicstaticexternboolCheckRecordEnd(UInt16Line);[DllImport("usbms.dll",EntryPoint="StoPRecordFile")]publicstaticexternboolStopRecordFile(UInt16Line);

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航