基於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函數,判斷是否摘機,從而判斷是否來電,代碼如下:
好了,就總結到這裡吧,這個任務完成,馬上就會有新的任務了。又一次新的編碼旅程開始了。