《Smsgate控件(OCX)开发说明书》1

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(1/10)

控件( 《Smsgate 控件(OCX)开发说明书》 )开发说明书》
一、Smsgate 控件的属性

属性值
CommPort Settings

名称
端口号(串口号) 端口连接速率

说明
连接手机或 GSM 模块的串口号,默认为 1,须按你电脑的实际设置 字符串,默认为:9600,n,8,1 ,要与手机相一致。在不能连接时,才考虑尝试不同的连接参数!多数是用默认的 9600,n,8,1 就可以。 常用的可能值有: 9600,n,8,1 (常用) ; 19200,n,8,1 (常用) ; 2400,n,8,1 ; 38400,n,8,1 ; 56000,n,8,1 57600,n,8,1 ; 15200,n,8,1 字符串, 默认为: “+8613800200500”广州移动的短信中心号码。请严格按以上格式设置本属性(如果不知当地的短信 中心号码,可联络当地移动或联通公司咨询) 成功读取手机短信后是否删除信息(默认是 true,即删除) 端口当前状态(Ture 表示忙,False 表示闲) 未注册时,发出的短信中带有“未注册”字样

SmsService

当地的短信中心号 码 读取手机短信后是 否删除信息 端口当前状态 控件注册码

ReadAndDel

IsBusy sn

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

13828890584

Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(2/10)

二、Smsgate 控件的事件 命令值
OnRecvMsg

名称
收到新信息

说明
收到新信息时控件产生该事件(自动接收新信息 RevAuto 为开时才有效) ,请在本事件中用 NewMsg 方法读取收 到的新信息内容进,然后进行处理,如存入数据库等,详见 ReadMsg 及 RevAuto; 收到新信息时,控件持续产生本事件,直到用 NewMsg 方法读出内容 收到发送报告时控件产生该事件(当发送信息时要求报告时才会产生本事件,见 Sendsms 方法) ,请在本事件中 用 NewReport 方法获得报告的内容,详见 NewReport 方法 参数:PhoneNo 来电的号码 当前 SIM 卡被叫时,产生本事件,可在本事件中读 PhoneNo 的值获得来电号码 当端口状态发生变化(即 IsBusy 属性值发生变化)时产生该事件(一般不需用到本事件,留作扩展)

OnRevReport

有发送报告 有电话打进 端口状态发生了 变化

OnCall

OnStatusChange

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

13828890584

Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(3/10)

三、Smsgate 控件的方法 命令值 参数
调用方法:smsgate1. connect(waittime) 参数说明: waittime 等待回应的时间(秒) 调用方法:smsgate1. ClosePort 参数说明:无参数 调用方法:smsgate1. Link 参数说明:无参数 调用方法: Sendsms (Msg, Mobile, S_report) 参数说明: Msg: (字符串) 发送的内容 Mobile: (字符串) 对方手机号码 S_repor:(数字型)是否需发送报告 S_repor=1 时有发送报告 S_repor=0 时无发送报告 PV : 是否带有效期 调用方法: SendAsc2 (AscMsg, Mobile, S_report) 参数说明:同 Sendsms

方法名称

说明
1、成功返回“y” ,否则返回失败原因 2、必须在发信息等操作前先使用本方法进行连接及系统初始化 3、在 waittime 设定的时间内,如果手机没回应,就当连接不成功; 如用数据线连接,可设 waittime 小些,如 8 ,即 8 秒;如用红外连 接,建议设大些,如 18,即 18 秒,因为红外的反馈慢些。 关闭端口并释放资源 1、正常返回 True,否则返回 False 2、这个方法是用于在运行中,定期检查连接是否还在正常状态中 3、在连接不稳定时(如红外连接时)可定时检查设备连接状态 1、 成功返回“y” ,否则返回发送失败的原因 2、 如果设备正忙,无法发送,返回“B” 3、 发送的内容(Msg)超 70 字自动分割成多条; 4、 当 PV 为 false 时,当发出短信时对方关机,该信息对方将收不 到,当 PV 为 Ture 时(默认),只要对方在两天内开机都会收到! 5、 有些地方同一卡连续发送太多短信时会临时发不出,一般把 PV 设为 false 就可以解决这个问题!

Connect

连接手机(初始化)

ClosePort

关闭端口

Link

测试当前的连接是否 正常

Sendsms

发信息

SendAsc2

发二进制数据 (仅高级用户使用)

1、 功返回“y” ,否则返回发送失败的原因 2、如果设备正忙,无法发送,返回“B” 2、 发送的数据长度超 140 字自动分割成多条; 3、 AscMsg 必须为二进制数据 4、 二进制数据的接口方法同普通短信,控件已自动识别 13828890584 Email:szguojue@163.com

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(4/10)

ReadMsg

调用方法:Smsgate1. ReadMsg (whyre) 参数说明: whyre =0 读手机未读信息 whyre =1 读手机已读信息 whyre =2 读手机所有信息 调用方法:Smsgate1. DelSms(del_which) 参数说明: del_which=1 删除已读信息 del_which=2 删除所有信息 调用方法:Smsgate1. NewMsg 参数说明:无

读取手机中信息

1、 成功即返回所读信息的字符串,否则返回“n” 2、 如 ReadAndDel 属性为 true 时,成功读取后删除该信息 3、 返回多条信息的字符串组成格式及调用方法见[附二]

DelSms

删除手机中指定信息

1、 成功返回“y” ,否则返回“n”

NewMsg

读出自动接收到的新 信息内容

1、 返回新信息的内容 (内容的格式同 ReadMsg 方法返回的, 见附二) 2、 注意:本方法仅应用于 OnRecvMsg 事件中才有效

NewReport

调用方法:Smsgate1. NewReport 参数说明:无

获得发送报告的内容

1、 返回发送报告的内容(见附三) 2、注意:本方法仅应用于 OnRevReport 事件中才有效

RevAuto

调用方法:Smsgate1. RevAuto 参数说明:无

开启自动接收新信息 功能

1、成功返回“y” ,否则“n” 2、注意:当运行本方法后,请于“OnRecvMsg”事件中接收新信息

RevAutoClose

调用方法:Smsgate1. RevAutoClose 参数说明:无 调用方法: Smsgate1.CallPhone(PhoneNO,WaitTime) 参数说明:PhoneNO 目标电话号码 WaitTime 等待回应时间 调用方法:Smsgate1. HangUpCall 参数说明:无

关闭自动接收新信息 功能

1、 成功返回“y” ,否则“n” 2、 运行本方法后,将不再产生 OnRecvMsg 和 OnRevReport 事件 1、 返回:OK 对方已接电话;BUSY 电话占线 NO 未接通 2、 WaitTime 单位为秒, 3、 举例:a= Smsgate1.CallPhone(“13632263389”,20) 1、 返回 True / False 2、 本方法一般和 OnCall 事件配合使用 13828890584 Email:szguojue@163.com

CallPhone

打电话

HangUpCall

挂断当前呼叫

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(5/10)

AnswerCall

调用方法:Smsgate1. AnswerCall 参数说明:无

接听当前呼叫

1、 返回 True / False 2、 本方法一般和 OnCall 事件配合使用

控件的一些其它方法(部分手机不支持以下方法,如下方法仅供参考,不具通用性) 四、Smsgate 控件的一些其它方法(部分手机不支持以下方法,如下方法仅供参考,不具通用性) 命令值 参数
调用方法:Smsgate1. ReadNB(pb_why) 参数说明: pb_why=“me” 读手机中电话簿 pb_why=“sm” 读 SIM 卡中电话簿 pb_why=“rc” 读通话记录中已接电话 记录 pb_why=“mc” 读通话记录中未接电话 记录 调用方法:Smsgate1. M_model 参数说明:无 调用方法:smsgate1. M_imei 参数说明:无参数 调用方法:smsgate1. M_ltd 参数说明:无参数

方法名称

说明

ReadNB

读手机中电话簿或通 讯记录资料

1、成功返回手机相关资料,否则返回空字符; 2、返回资料格式及分割方式同接收信息 ReadMsg

M_model

读手机型号

1、成功返回手机型号,否则返回空字符

M_imei

读手机 IMEI 码

1、成功返回手机 IMEI 码,否则返回空字符

M_ltd

取得手机生产厂商

1、成功返回手机手机生产厂商名称,否则返回空字符

[小技巧 :如想在你的程序界面上显示上述每个方法的进程,请在程序中把控件的宽(width)设定为大于 600 的长条,控件的外观将变成一进程指示条, 小技巧]: 小技巧 运行时将显示每个方法的实时进程,非常直观!当然,如不想显示,把该控件属性设为不可见即可!

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

13828890584

Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(6/10)

【附一】 开发举例 :
第一步:先设置好“CommPort”和“Smsservice”属性,有必要时更改 settings 属性值 例如: Smsgate1.CommPort=2 Smsgate1. Smsservice =”+8613800200500” Smsgate1. Settings =”19200,n,8,1” 第二步:连接手机 第三步:发信息 a = Me.Smsgate1.Connect a=.Smsgate1.sendsms(“测试内容”, “13632263389”, 1)

第四步:收信息(有两种收信息的方式) A、手工读取: a = Me.Smsgate1.ReadMsg(4) ‘读取手机中所有信息 B、自动读取新信息: 在 OnRecvMsg 事件中取得新收到的信息(前提是先运行了 RevAuto,否则不会产生 OnRecvMsg 事件) Private Sub Smsgate1_OnRecvMsg() MsgBox "有新信息啦!" A= Me.Smsgate1.NewMsg ‘ 自动接收到的信息内容存放在 NewMsg 属性中 ‘-------------------------对 A 进行处理,如存入数据等,a 的格式见[附二] End Sub 第五步:获得发送的反馈报告 A、在 OnRevReport 事件中,使用 NewReport 方法获得发送报告内容 Private Sub Smsgate1_OnRevReport() a=Smsgate1.NewReport ‘-------------------------对 A 进行处理,如存入数据等,a 的格式见[附三] 深圳市国爵电子有限公司 网址:http://www.gprscat.com 服务电话:0755-27912581 13828890584 Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(7/10)

End Sub

第六步: 删除手机中信息(有两种方式) A、 手工删除: a = DelSms(1) B、 自动删除:把 ReadAndDel 属性设为 true,这样控件在接收到信息后,自动删除手机的信息

:收信息举例 方法) 【附二】 收信息举例(适用于 ReadMsg 及 NewMsg 方法) 附二】 收信息举例( :
当调用 msgstr = Smsgate1. ReadMsg (whyre) 或 msgstr =Smsgate1. NewMsg 时,msgstr 变量(短信内容)的组成结构如下:

msgstr= 号码 1 chr(2) 内容 1 chr(2) 时间 1 3 。。。 。。

chr(1)

号码 2 chr(2) 内容 2 chr(2) 时间 2

chr(1)

号码 3 chr(2) 内容 3 chr(2) 时间

即每条信息之间用 ASCII 码的 chr$(1)进行间隔,信息内的“时间”“信息内容”“时间”字段之间用 chr$(2)进行间隔;在不同语言中用相关命令 、 、 进行分割即可(如 VB 中用 split)

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

13828890584

Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(8/10)

VB 中调用及分割资料举例如下: '========详细的分解收到信息并存入数据库的源码 in============

Private Sub Smsgate1_OnRecvMsg() dim msgstr msgstr = Smsgate1. NewMsg messageall = Split(msgstr, Chr(1)) For Each onem In messageall kkk = 0 meVV = Split(onem, Chr(2)) For Each icc In meVV kkk = kkk + 1 If kkk = 1 Then moble = icc If kkk = 2 Then msg = icc If kkk = 3 Then times = icc Next rs.addnew rs("moble") = moble rs("moble") = msg rs("moble") = times rs.Update Next End Sub '========== ==详细的分解收到信息并存入数据库的源码 深圳市国爵电子有限公司 网址:http://www.gprscat.com

‘在 OnRecvMsg 事件中使用 NewMsg 方法获得收到短信的内容 ‘定义变量 msgstr,用于存储信息字符串 '把本次收到的内容(已读信息)赋予变量 msgstr '对 msgstr 变量用 chr(1)进行分割成每条 '取出每条短息内容 onem(包括电话,内容,时间) ' '对每条短信内容用 chr(2)进行分解为每个详细值,依次为“电话号码”“内容”“时间” 、 、 '分别取出电话,内容,时间 ‘取出电话号码 (moble) ‘取出短信内容 (msg) ‘取出该信息的收到时间 (times)

'在数据库中增加一新记录

'保存记录

end========== 服务电话:0755-27912581 13828890584 Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(9/10)

【附三】 读短信的发送报告举例 :
Private Sub Smsgate1_OnRevReport() ‘在 OnRevReport 事件中使用 NewReport 方法获得报告的内容 strReport=Smsgate1.NewReport ‘----------------对 strReport 进行处理 End Sub StrReport 的构成如下:报告内容+ chr$(1)+发出时间+ chr$(1)+反馈时间 例如:StrReport 的构成是: 已发送至:13632263389 发出时间:指短信发出的时间 反馈时间:指对方收到的时间 如有多条报告一起的话,每条报告之间用 chr$(2) 分隔 chr$(1) 2005-8-20 22:58:25 (chr$(1) 为 ASCII 码)

chr$(1)

2005-8-20 22:59:25

【附四】 常见问题 :
(1) 、无法接通手机,什么原因? 回答:一般有如下原因: A、 端口号选择不正确, 深圳市国爵电子有限公司 网址:http://www.gprscat.com 服务电话:0755-27912581 13828890584 Email:szguojue@163.com

Smsgate 控件(OCX)开发说明书 控件( )开发说明书(10/10)

B、 用 USB 的数据线连接时,驱程无正确安装 C、 Settings 的速率与手机不一致,请用不同的速率试下 D、 NOKIA 手机用数据线连接时,没安装手机的驱程 E、 红外连接时,有时手机反应较慢,在控件规定的时间内未能接通,一般试多几次就接通了 (2) 、我使用控件已正常发出信息,但无法读取手机中已存在的信息,什么原因? 回答:本控件读取手机短信的原理是:新信息先到达手机,然后本控件再从手机中读取信息。而手机收到新信息时,会先存入在 SIM 卡中,当 SIM 卡存满时 (一般 SIM 卡收信箱中只能存 10 或 20 条信息) 会把信息存放在手机的本身上。 , 而本控件只能读取 SIM 卡中的信息 (因所有 SIM 卡格式是一致的,而手机因型号不同而不同) ,故假如你的 SIM 卡只能存 20 条信息,而你手机“收到信息”栏中如果同时存有 21 条信息的话,第 21 条信息无法读取的,这时有信息到达控件也无法读取。 所以,请你先手工清空收到信息栏,就可以正常读取信息了 另外,有一种特殊的情况,就是当手机设置为先存满手机,再存到 SIM 卡时,操作就刚好相反,要先存有足够的信息,之后才能正常读取!

:本控件为标准通用版 【特别说明】 本控件为标准通用版,如您需要个性的属性或方法,可免费增加或修改,有需要请联络我们 特别说明】 本控件为标准通用版,如您需要个性的属性或方法,可免费增加或修改, : 版权说明】 :本接口为深圳市国爵电子有限公司短信工作室独立开发,拥有完全的独立知识版权,欢迎使用。 【版权说明】 :

深圳市国爵电子有限公司 网址:http://www.gprscat.com

服务电话:0755-27912581

13828890584

Email:szguojue@163.com


相关文档

《Smsgate控件(OCX)开发说明书》
客户端OCX控件开发说明
OCX控件接口说明(V2.3.1)
OCX控件手动安装说明
使用MFC开发ActiveX(ocx)控件
IDCard.OCX控件使用说明
OCX控件接口说明(V2.3)
C#开发OCX_IE控件
长短信OCX控件,长短信二次开发说明
海康OCX控件接口说明(V2.3)
电脑版