短信开发
这两天忙着给越南那边的程序翻译,一个头变成两个了,自己的英语水平只能用三脚猫来形容,再加上对制版的专业用语不熟,金山词霸,goolge翻译,CSND英语栏目,全部多线程开着,哈哈,听几门牌了。下午接到短信开发新任务,用的是深圳商悦GSM猫,五百来块,也不算贵,相当于一部低档手机,再通过串口和PC连接,我需要做的就是做个接口给程序调用,可以发短信和接收短信,然后作处理记录保存在数据库里,也谈不上有难度,不就是接和发,哈哈,信心十足地跟老大把任务接了下来。自己知道这些硬件商都有提供demo和文档给开发者,大概看一下就明白。打开光盘发现没有c#的demo,只有vb.net的,没计啦,再装个VB.NET,打开vb.net的demo,唉,对VB.NET代码不敢恭维啊,密密麻麻地涂在一起,还好,自己不是学vb.net的,不然会没有学下去的欲望。没办法,还得硬着头皮看一下代码,知道了主要是Axalasun.Axalasunsms这个类。
整个步骤如下:
一、注册两个COM
regsvr32.exe c:\winnt\system32\alasunsmscon.ocx
regsvr32.exe c:\winnt\system32\mscomm32.ocx
二、在工具箱上添加选项
在com组件选项卡里选中Alasun SMS Control
三、把这个控件拖到窗体中
窗体代码自动生了private Axalasun.Axalasunsms axalasunsms1 = new Axalasun.Axalasunsms();//这个是主角,刚开始不知道,花了一个来小时寻找它
四、开始对这个实例对象操作了
axalasunsms1.OpenComm();//打开GSM猫
axalasunsms1.ReadMsgByIndex(..);//读信息
axalasunsms1.SendMsg(...);//发送信息
axalasunsms1.CloseComm();//关闭猫猫
总结:
1、开始直接在项目里引用COM,以为在代码可以自动找到主角类,搞了半天也找不到,后来把它放在工具箱再拖到窗体中才可以。
2、发送信息时,不懂手机中心号码是什么,信息提示发出去了,但是收不到,以为手机卡没钱了,反复拔插了几次,最终是中心号码设置错了。
3、当手机收到信息时,不能触发OnReceive事件,这个得问一下别人,如果不行的话,只能靠线程定时读取猫了,这样会消耗点性能。
4、总体来说还不错,一个下午搞懂一个小知识点,以后大有所用。
待续...