Foxtable(狐表)用户栏目专家坐堂 → [求助] 短信猫动态链接库使用


  共有13645人关注过本帖树形打印复制链接

主题:[求助] 短信猫动态链接库使用

帅哥哟,离线,有人找我吗?
mam0094
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:153 积分:1995 威望:0 精华:2 注册:2011/4/9 11:53:00
[求助] 短信猫动态链接库使用  发帖心情 Post By:2011/11/5 11:11:00 [只看该作者]

项目需要短信收发功能,买了短信猫,有二次开发接口VB,VC,VB.net...  现在问题不知道在狐表中具体使用方法,开发指南一带而过,论坛内也没有多少关于调用DLL的帖子。所以特来此请教3个问题

 

1.Foxtable应该选择哪个Dll,  VB、vb.net 还是随便哪个都可以,还是哪个都不行?

2.如可用,具体使用方法怎么弄?  如DLL复制到Foxtable目录下后,全局代码怎么写?

3.如何调用?

 

附上  《短信动态库说明》 请大家指教。谢谢!

 

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 这个需要一个定时器和线程来管理。如果短信多了而不调用此函数,新的短信会覆盖以前的未读取短


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/5 16:14:00 [只看该作者]

留下你的型号,我正打算采购一个短信猫,将其开发过程写入帮助。

 回到顶部
帅哥哟,离线,有人找我吗?
mam0094
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:153 积分:1995 威望:0 精华:2 注册:2011/4/9 11:53:00
  发帖心情 Post By:2011/11/6 7:35:00 [只看该作者]

以下是引用狐狸爸爸在2011-11-5 16:14:00的发言:
留下你的型号,我正打算采购一个短信猫,将其开发过程写入帮助。

真是太好的消息了,希望狐爸尽快。

你是说留下硬件的型号吗?我是买的基于2G GSM 的GSM MODEM。串口转的USB.传说中的工业级硬件和西门子模块,花了我400多。就是图上这种CT5050 .

感觉跟硬件没太大关系,因为有朋友在taobao花100多买的一样使用,后来我直接用我的N97连接电脑测试下也可以收发,我猜想应该智能手机都可以用。所以我觉得要不要买短信猫都没太大关系。

狐爸既然有打算最好能将彩信和语音的功能顺便研究下,那用狐表开发出软件功能就强大了, 最近有太多朋友让我弄电脑打电话和发彩信的功能了。


此主题相关图片如下:as.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2011-11-6 7:35:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mam0094
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:153 积分:1995 威望:0 精华:2 注册:2011/4/9 11:53:00
  发帖心情 Post By:2011/11/6 8:24:00 [只看该作者]

狐爸需要我可以把短信猫二次开发资料发给你。我的QQ 71478459,E-mail:mam0094@163.com

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/6 8:39:00 [只看该作者]

不需要的,我会联系厂家索取的

 回到顶部