Board logo

标题: 数据线连接手机用命令行发短信[中国DOS联盟首发] [打印本页]

作者: hbby     时间: 2008-6-5 00:32    标题: 数据线连接手机用命令行发短信[中国DOS联盟首发]

基于命令行方式的
短信二次开发简易接口
一、使用简介
您有没有考虑过让您开发的系统也具备短信功能?
其实方法特别简单,找条手机数据线或买个GSM Modem,并安装一下我们这个软件。在windows的dos窗口内,马上就可以体验到通过命令行方式体验一下电脑发送短信的快感。

例如,要给13060062924的手机要发送一条内容为“早上好!”的短消息,只需在DOS窗口中运行这样的语句:“EdisonSms /sendsms 13060062924 1 早上好!”即可,够简单吧!
通过命令行方式来调用后台服务程序,这是一种广大程序员最为熟悉和简单易用的二次开发接口方式。
您可能早已领悟到了,通过这种方式,可以快速地让您的系统插上短信的翅膀。
二、完整的命令行调用语法
2.1、语法格式
EdisonSms  [操作]
                  /Open  类型(手机为0,GSM Modem为1) 串口名(如COM1、COM2等)
                  /SetRecvLogFileName   接收短信的日志全路径文件名
                  /SetSendLogFileName   发送短信的日志全路径文件名
                  /SendSms  接收手机号 短信自编号 短信内容
                  /Close
2.2、命令说明
Open命令用于打开短信设备连接。
SetRecvLogFileName命令用于指定短信接收日志文件,如未指定则不保存接收日志。
SetSendLogFileName命令用于指定短信发送日志文件,如未指定则不保存发送日志。
SendSms命令用于在连接短信设备成功后,发送短信。短信自编号由用户任意指定的数字,主要用于用户在发送日志文件中可靠地检索发送记录。
        Close命令用于关闭短信设备连接。
2.3、示例
        1、打开设备连接(假设是GSM Modem连接在com2口上):EdisonSms /open 1 com2
        2、设置接收日志文件:EdisonSms /setrecvlogfilename c:\1.txt
        3、设置发送日志文件:EdisonSms /setsendlogfilename c:\2.txt
        4、发送短信:
                EdisonSms /sendsms 13060062924 0 生日快乐!
                EdisonSms /sendsms 13060069889 1 祝您生意兴隆,身体健康!
                EdisonSms /sendsms 13099880066 2 祝您一帆风顺,羊年发洋财!
                ... ...
        5、关闭设备连接:EdisonSms /close
2.4、测试方法
        利用Windows下的DOS窗口(由系统桌面上“开始/ 程序 /附件 /命令提示符”进入),可方便地进行短信收发的测试操作。

三、调用流程建议
A、        在您的系统启动时就调用2.3中的第1、2、3项。
B、        您可以通过您的程序检查"c:\Edss.txt"文件是否存在,且如果其内容为“OK”,则表示与短信设备的连接正常。
        C、使用过程中,发短信时就调用2.3中的第4项。
        D、要看有没有收到新的短信,您可以每间隔一段时间检查一下短信接收的日志文件有无新内容,如有新内容就读入您的系统中;当然,您也可以读完后就删除这个文件,然后定时去看这个文件是否存在,如存在又去读,读完后又把它删除,周而复始地循环。
        E、在您的系统退出时,才调用2.3中的第5项(如果不调用也不会有任何问题)。因为设备连接等待时间较长,所以建议您的系统在成功连接到短信设备后,没有必要一会儿断开,一会儿又去连接。
四、执行命令行的API函数调用方法
        在您开发的应用系统中,一般可采用Windows API函数WinExec来执行命令行指令。当然,使用其它的进程启动函数都可以。
调用方法示例如下:       
WinExec(" EdisonSms /open 1 com1" , SW_HIDE);
        WinExec(" EdisonSms /setrecvlogfilename c:\\1.txt" , SW_HIDE);
        WinExec(" EdisonSms /setsendlogfilename c:\\2.txt" , SW_HIDE);
        WinExec (" EdisonSms  /sendsms 13060062924 1 生日快乐!" , SW_HIDE);
        WinExec (" EdisonSms /close", SW_HIDE);

命令行短信下载

可惜软件发送短信内容会带广告,如有高手,请破解造福大家!

[ Last edited by hbby on 2008-6-5 at 12:34 AM ]
作者: magicalboy     时间: 2008-11-2 19:16
MS很强大,期待ing...
作者: zlsanhong     时间: 2010-3-7 15:47
good   very good !
作者: zlsanhong     时间: 2010-3-7 15:47
要手机猫是么?