Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
项目需要短信收发功能,买了短信猫,有二次开发接口VB,VC,VB.net... 现在问题不知道在狐表中具体使用方法,开发指南一带而过,论坛内也没有多少关于调用DLL的帖子。所以特来此请教3个问题
1.Foxtable应该选择哪个Dll, VB、vb.net 还是随便哪个都可以,还是哪个都不行?
2.如可用,具体使用方法怎么弄? 如DLL复制到Foxtable目录下后,全局代码怎么写?
3.如何调用?
附上 《短信动态库说明》 请大家指教。谢谢!
一,启动服务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为错误内容
返回错误长度
//消息结构体 类型声明
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)();
HINSTANCE hDll = LoadLibrary("MC8331AT.dll"); //调用程序目录下须要有此动态库文件
pSMSSendMessageFun SMSSendMessageFun; //函数定义
SMSSendMessageFun = (pSMSSendMessageFun)GetProcAddress(hDll, "SMSSendMessage");
//获取函数指针
If(SMSSendMessageFun != NULL)
SMSSendMessageFun(“短信内容”, “手机号码”);
//发送短信
FreeLibrary(hDll); //释放动态库
1, SMSStartService 和SMSStopSerice 应该配对出现,在程序退出之前一定要释放资源
2, SMSGetNextMessage 这个需要一个定时器和线程来管理。如果短信多了而不调用此函数,新的短信会覆盖以前的未读取短
真是太好的消息了,希望狐爸尽快。
你是说留下硬件的型号吗?我是买的基于2G GSM 的GSM MODEM。串口转的USB.传说中的工业级硬件和西门子模块,花了我400多。就是图上这种CT5050 .
感觉跟硬件没太大关系,因为有朋友在taobao花100多买的一样使用,后来我直接用我的N97连接电脑测试下也可以收发,我猜想应该智能手机都可以用。所以我觉得要不要买短信猫都没太大关系。
狐爸既然有打算最好能将彩信和语音的功能顺便研究下,那用狐表开发出软件功能就强大了, 最近有太多朋友让我弄电脑打电话和发彩信的功能了。