GSM短信模块库函数,可以用VB,VC,调用简单实用
短信动态库说明 1对外接口函数说明 一,启动服务int _stdcall SMSStartService(int nPort,DWORD BaudRate = 57600, int Parity=2, int DataBits = 8,int StopBits=0,int FlowControl=0,char* csca="card")
参数:nPort 串口号 如1 则表示COM1 BaudRate 拨特率 115200 Parity 校验位 2 DataBits 数据位 8 StopBits停止位 0 FlowControl 流控制 0 Csca 短信中心号码,可以使用默认值,若设置则格式如:” +8613800591500”
返回值:1成功,0失败
二, 发送短消息DWORD _stdcall SMSSendMessage(char* Msg,char* PhoneNo)
参数:Msg消息内容,如果为中文则一条最多70个字,多于70个字分多条短信发送 如果全为英文则一条最多为140个字符,多余于140则分多条发送 PhoneNo 目标号码 格式如“13800591500”
返回值无意义,查询短信成功与否请调用函数四
三, 接收短消息int _stdcall SMSGetNextMessage(SMSMessageStruct* Msg)
结构体类如下 typedef struct _sms_msg_t_ { char Msg[256]; //短信内容 char PhoneNo[32]; //对方手机号码 char ReceTime[32]; //接收时间 } SMSMessageStruct;
参数 Msg读取的短消息 返回 1有短信 0无 四, 查询发送状态报告 int _stdcall SMSReport(SMSReportStruct* rept)
五, 停止服务int _stdcall SMSStopSerice()
六, 最近一次错误 int _stdcall SMSGetLastError(char* err)
参数 err为错误内容 返回错误长度
2调用方法以及用例 2.1.1 声明 //消息结构体 类型声明 typedef struct _sms_msg_t_ { char Msg[256]; //短信内容 char PhoneNo[32]; //对方手机号码 char ReceTime[32]; //接收时间 } SMSMessageStruct;
//消息状态报告结构体 类型声明 typedef struct _sms_report_t_ { DWORD index; //短消息编号:index,从0开始递增 char Msg[256]; //短信内容 int Success; //是否发送成功 0为失败,非0为成功 char PhoneNo[32]; //目标手机号码 } SMSReportStruct;
//启动服务函数类型说明 typedef int (_stdcall *pSMSStartServiceFun)(int nPort,DWORD BaudRate = 57600, int Parity=2, int DataBits = 8,int StopBits=0,int FlowControl=0,char* csca="card"); //读取短信函数类型说明 typedef int (_stdcall *pSMSGetNextMessageFun)(SMSMessageStruct* Msg); //发送消息类型说明 typedef DWORD (_stdcall *pSMSSendMessageFun)(char* Msg,char* PhoneNo); //读取状态报告类型说明 typedef int (_stdcall *pSMSReportFun)(SMSReportStruct* rept); //停止服务函数类型说明 typedef int (_stdcall *pSMSStopSericeFun)(); 2.1.2调用过程 HINSTANCE hDll = LoadLibrary("MC8331AT.dll"); //调用程序目录下须要有此动态库文件 pSMSSendMessageFun SMSSendMessageFun; //函数定义 SMSSendMessageFun = (pSMSSendMessageFun)GetProcAddress(hDll, "SMSSendMessage"); //获取函数指针 If(SMSSendMessageFun != NULL) SMSSendMessageFun(“短信内容”, “手机号码”); //发送短信 FreeLibrary(hDll); //释放动态库 3备注 1, SMSStartService 和SMSStopSerice 应该配对出现,在程序退出之前一定要释放资源 2, SMSGetNextMessage 这个需要一个定时器和线程来管理。如果短信多了而不调用此函数,新的短信会覆盖以前的未读取短信 [办公软件]PowerPoint做交互课件之弃用VBA [办公软件]VBA获取U盘、主板、CPU序列号和网卡MAC地址 [办公软件]VBA设置文件属性及加密源代码示例 [办公软件]VBA中初始化ADO连接的几种方法 [网络安全]“VB破坏者变种N”病毒摘要 [Web开发]ASP.NET上传文件到数据库VB版 [网页制作]DIV CSS布局:自定义标签布局页面 [办公软件]在Excel中利用VBA实现多表单元格数据的读取与赋值… [办公软件]使用Vba读取已关闭的Excel工作薄数据到当前工作表… [办公软件]Excel编程基础之VBA文件操作详解
|