短消息服务的一个要害特性是通过移动网络操作员的网络立即发送的消息,不需要手工连接到Internet服务提供商(Internet Service Provider,ISP)--SMS消息都是立即发送的,而电子邮件需要接收者从邮件服务器上检索。同样,接收者假如不在线--假如电话关闭了--SMS消息存储在操作者那儿,在电话再次打开时发送。
在Pocket PC 2002 Phone Edition设备上,你能象处理电子邮件消息一样处理SMS消息。SMS消息组件与标准收件箱应用程序集成了,答应象发送和接收电子邮件一样发送和接收消息。你甚至可以把电子邮件作为SMS消息转发和回复。
可激活短消息服务的应用程序 007网络教程网
许多商业情况涉及一些类型的通知,SMS是一条实现多种商业事件通知的强大的途径。可能的情况是销售人员通知服务工程师客户需要某种服务,服务工程师在用户那儿通知执行重要的商业事件,或者执行人员通知所有与客户相关的人员新客户的处理测试。
使用SMS的另一个好处是实现移动商务(m-commerce),SMS通常用于处理支付事务。例程开始将演示怎样从Pocket PC 2002 Phone Edition设备发送SMS消息。
hot007.com
发送短消息服务例子 复制于jc567.cn
使用微软嵌入式Visual Basic的例子:
007网络教程网

图1.SMS例程 复制于hot007.com
文章来源于www.jc567.cn
在这个窗体中,你能输入一个国际移动电话号码和一条文本消息。点击Send按钮时,消息就发送了--就这么简单。
编码过程 文章来源于www.hot007.com
下面是发送SMS消息核心代码。首先需要定义一些微软Windows API:
007网络教程网
一个API打开SMS消息组件 www.jc567.cn
一个API发送SMS消息 www.hot007.com
一个API关闭SMS消息组件 文章来源于www.hot007.com
|
Public Declare Function SmsOpen Lib "SMS" (ByVal ptsMessageProtocol Public Declare Function SmsSendMessage Lib "SMS" (ByVal smshHandle Public Declare Function SmsClose Lib "SMS" (ByVal smshHandle As Long) As Long jc567.cn |
你也需要为不同的API声明一些API常数:
jc567.cn
| Public Const SMS_MSGTYPE_TEXT = "Microsoft Text SMS Protocol" Public Const SMS_MODE_SEND = 2 '用发送模式打开 Public Const SMSDE_GSM = 1 '使用标准GSM encoding Public Const SMSAT_INTERNATIONAL = 1 ' 国际号码 format Public Const PS_MESSAGE_OPTION_NONE = 0 ' 没有消息选项 Public Const PS_MESSAGE_CLASS0 = 0 ' 立即发送 Public Const PSRO_NONE = 0 '没有更替 Public Const SMS_OPTION_DELIVERY_NONE = 0 ' 没有发送选项 |
下面是发送SMS消息的完整代码:
|
Public Sub SendSMS(ByVal Number As String, ByVal Message As String) 文章来源于www.hot007.com Dim SMSHandle As Long 复制于hot007.com
'打开SMS消息组件 '设置地址结构体 '设置提供者结构体 文章来源于www.jc567.cn '发送消息 '关闭SMS消息组件 End Sub |
首先SMS消息组件被打开(SmsOpen),它的句柄被保存(SMSHandle)。调用SMS API时该句柄是必须的。
调用SmsSendMessage时需要一些结构体或者UDT(用户定义类型)。因为嵌入式Visual Basic缺乏对UDT的支持,简单字符串用于模拟结构体。
文章来源于www.hot007.com
第一个是包含SMS消息地址的结构体。地址结构体包含支持的号码类型以及号码本身。下一个结构体是关于服务提供者的一些选项。该结构体的第一部分指示没有选择特定的项,第二部分显示消息必须立即发送,最后的部分规定不能替换。 文章来源于www.hot007.com
在发送消息(SmsSendMessage)的调用中,提供了预备好的结构体、消息文本和一些选项。最后,句柄被关闭(SmsClose)。 复制于hot007.com
结论 www.hot007.com
SMS对于短小及时的文本通知有很大用处。在Pocket PC 2002 Phone Edition的支持下,你可以使应用程序"SMS自唤醒"。使用例程的代码,大部分需要的操作完成了。假如你接受移动世界,按照通讯机制和协议,更多是使用"并且"而不是"或者",你能按需求使用任意选项。 007网络教程网