【项目实例】使用C#开发纽曼USB来电通来电弹屏客户端小结
基于CRM客户和咨询者的普遍需求,老板决定在CRM系统上加入来电弹屏功能,所谓来电弹屏,就是当一个电话打入时,电脑会弹出该电话号码对应的客户、联系人或者供应商详细信息,如果是新号码,则添加一个新的客户。
要达到这样的效果,首先需要硬件的支持,最后老板决定使用纽曼USB来电通作为电话与电脑的连接媒介,它提供二次开发接口,可以实现电脑中获取电话来电号码并弹屏。其次需要在CRM系统中预留一个接口支持根据电话号码弹出信息。由于CRM以前和某知名呼叫中心集成,所以留有这样的借口。
于是就只差一个客户端来连接硬件和CRM系统了,来电通提供了多中语言的开发示例,有VB、Delphi,C#等,由于我学过Java,C#语法和Java差不多,又以前用过VS2005编写MFC程序,于是便说服老板使用C#来发客户端。
C#开发windows客户端果然效率很高,我一天就做出了一个简易的Demo,实现了弹屏的功能,然后陆陆续续的加入开机自启动、同时只允许一个进程运行等,然后进行一下界面美化,就完成了,当然里面很多东西都是通过Google在很多blog中搜索出来的,哎,如果没有google,那该怎么办?现在我就把资料整理一下:
C#导入(来电通)API函数提取电话号码:http://topic.csdn.net/u/20080319/17/6e20454d-3457-4ece-ac1b-30c03a1729ed.html
C# 程序只能运行一次:http://www.cnblogs.com/fubin/archive/2009/12/08/1619229.html
C#开机自动启动程序:http://www.cnblogs.com/xumingming/archive/2009/01/08/1371931.html
winform程序加图标:http://wenwen.soso.com/z/q173944920.htm
另:纽曼USB来电通开发接口有个小bug,Setup_Tel函数中的回调函数当你打电话时也会触发,而且电话号码不一定是你拨的号码(和你拨的速度有关),遇到这个问题可以使用LineOffHook_Tel函数,判断是否摘机,从而判断是否来电,代码如下:
- string number;
- bool zhaiji = LDT.LineOffHook_Tel(port);
- number = LDT.GetNumber_Tel(port).ToString();
- if (!zhaiji)
- {
- //现在有电话打入,是来电
- }
好了,就总结到这里吧,这个任务完成,马上就会有新的任务了。又一次新的编码旅程开始了。
【项目实例】使用C#开发纽曼USB来电通来电弹屏客户端小结的更多相关文章
- 使用C#开发纽曼USB来电小秘书客户端小结
在前面用C#开发完CRM的来电弹屏之后,有些客户有了新的要求,他们希望不但能够实现来电弹屏,更希望能够将呼入呼出的电话录音并上传到CRM服务器上,方便日后跟踪记录.于是便有了来电小秘书客户端的开发. ...
- [转]BeagleBone Black USB一线通(2)
接上篇 BeagleBone Black USB 一线通(1) 三.网络与ssh终端 通过串口终端我们可以看到启动的过程,也能做一些交互操作,比如我们看到了网络接口的状况.其中的usb0已经在随板的 ...
- 关于开发板不能ping通外网IP
最近在做远程监控的项目,打算用开发板给一个网站发送数据包.不过发现开发板只能ping通同一局域网内的ip,外网的ip不能ping通.纠结了半天发现是网关没有设置的原因.下面来说说如何解决这个问题. 首 ...
- iOS开发UI篇—Quartz2D使用(截屏)
iOS开发UI篇—Quartz2D使用(截屏) 一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInCont ...
- EBS OAF开发中实现參数式弹出窗体
EBS OAF开发中实现參数式弹出窗体 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 概览 參数式弹出窗体和嵌入式弹出窗体不一样,它拥有独立 ...
- iOS开发网络篇—网络请求(HTTP协议)小结
iOS开发网络篇—网络请求(HTTP协议)小结 iOS开发网络篇—网络请求(HTTP协议)小结 1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1> 请求 * 客户端 --> ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:Java集成应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 【转】BeagleBone Black USB一线通(3)
接上篇 BeagleBone Black 一线通(2) 五.vnc图形终端 虽然 BB-Black带有一个Micro-HDMI接口,不过那么名片不到的一个小板,连接到一个20来寸的显示器上,还是有些 ...
随机推荐
- delphi TeeChart保存3种图片文件
var vForm: Tfrm_ChemaShowMainChild;begin vForm := GetActiveForm; vForm.cht_Edit.SaveToMetafile('C:\1 ...
- asp.net mvc让我告诉你请求从哪里来
移动互联网的兴起,导致越来越多的网站开始看中自己的mobile站点(m站),例如我们用手机浏览器访问58,美团等网站都会看到适配的m站点,随之而来响应式布局,h5等技术随之兴起,对于一些大型网站来说, ...
- python日志模块logging
python日志模块logging 1. 基础用法 python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.INFO.WARNING.ERROR.CRITICAL五种( ...
- PHP获取本周开始时间
/*先设置时区*/date_default_timezone_set('PRC');/*网上的写法:总觉得这周跨年或者跨月的时候会悲剧 未验证*/echo mktime(0,0,0,date('m') ...
- 《学习OpenCV》练习题第五章第二题abc
代码: #include <stdio.h> #include <opencv/highgui.h> #include <opencv/cv.h> #include ...
- iOS开发-你真的会用SDWebImage?(转发)
原文地址: http://www.jianshu.com/p/dabc0c6d083e SDWebImage作为目前最受欢迎的图片下载第三方框架,使用率很高.但是你真的会用吗?本文接下来将通过例子分析 ...
- BitmapData类介绍
今天介绍另外一个比较常用和中高级难度的类:BitmapData 用好这个类,可以说是半支脚踏入了Flash高手的大门···(主要是不是太多的人精通这个··呵呵··)我也可以趁这篇文章的机会好好巩固+学 ...
- js运动 多物体运动含Json 但是里面数值不一样
<!doctype html> <html> <head> <meta charset = "utf-8"> <title&g ...
- 【Android框架进阶〖0〗】ThinkAndroid注解机制
由于项目需要,开始研究ThinkAndroid. 个人认为该框架的注解机制十分新颖,所以先研究这个,顺便学习下 Java 的annotation. 粗略的看了看,该机制在BaseActivity中初始 ...
- C++中使用接口
面向对象的语言诸如JAVA提供了Interface来实现接口,但C++却没有这样一个东西,尽管C++ 通过纯虚基类实现接口,譬如COM的C++实现就是通过纯虚基类实现的(当然MFC的COM实现用了嵌套 ...