动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 移动短信技术
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ 移动短信技术 ]的信息

本月文章推荐
.手机短信息SMS的程序开发.
.对于开发SMS初学者的,经常用到的.
.基于Nokia S60的游戏开发之五.
.simens和motorola铃声图片开发资.
.MIDP游戏开发中处理文字的换行方.
.Nokia S60编程环境的建立.
.一步一步搞定手机串口短信收发.
.CMPP ACTIVETEST RESPONSE.
.基于Nokia S60的游戏开发之三.
.联通SGIP模拟网关.
.移动业务代码规范方案.
.基于Nokia S60的游戏开发之一.
.图片格式整理(增加alcatel).
.SMS基本概念和移动通信系统介绍.
.基于CMPP3.0的企业短信网关API设.
.在PC上通过手机发送短消息(续篇).
.CMPP ACTIVE TEST.
.短信网关在短信信息服务中的作用.
.基于SMPP协议的GSM短消息增值业务.
.ERICSSON多媒体实验室提供的MMS和.

Pocket PC Phone Edition SMS编程入门

发表日期:2003-9-25 |


适用于:
    Pocket PC 2002 Phone Edition
    微软® eMbedded Visual Tools
下载本文代码Introapp.exe

 


SMS和Pocket PC Phone Edition
 
短消息服务(SMS)是在全球移动通信网络(GSM)的移动电话之间发送简短的字母和数字消息(最大160个字符)的标准。它和传呼机的工作方式很相象,但是它带有文本,而且当今大多数的移动电话都支持SMS。

SMS的一个关键方面是,信息通过移动网络运营商的网络即时发送,而不要手动连接到Internet服务提供商(Internet Service Provider)——SMS信息是即时发送的,而电子邮件需要接收者在邮件服务器上接收。而且,如果接收者不在线的话——例如电话关机——SMS信息会被保存在运营商(的服务器上),并在电话再次开机的时候转发出去。

在装有Pocket PC 2002 Phone Edition的设备上,你可以像管理电子邮件信息一样管理SMS消息。SMS消息组件同标准的收件箱(Inbox)应用程序集成在一起,这就让你能够像发送和接收电子邮件一样发送和接收短消息。你甚至能够将电子邮件作为SMS消息转发和回复,反过来也可以。

支持SMS的应用程序
很多商业情景都需要某种形式的通知,而SMS是实现用于各种商业事件的通知的极好方法。它可以是销售人员告知服务工程师某个客户需要服务,也可以是服务工程师将客户的一个重要商业事件告知执行人员,或者是执行人员将新的客户处理规程通知所有同该客户相关的职员。

SMS另一个有意思的用途是能够使移动商务(mobile commerce,m-commerce)成为可能,因为SMS常常被用来处理支付交易。为了让你有个初步的了解,我们会在下面的例子里向你演示如何利用你的Pocket PC 2002 Phone Edition设备发送SMS信息。

SMS发送示例
一个使用微软® eMbedded Visual Basic®的简单窗体:

 

图1:SMS应用程序示例

在这个窗体里,你可以输入一个国际移动电话的号码以及一条文本信息。当你点击“发送(Send)”按钮的时候,信息就被发送出去了——就这么简单!

示例代码
现在让我们来看看用于发送SMS信息的核心代码。首先,你需要声明多个微软Windows®的API:

一个用于打开SMS信息组件
一个用于发送SMS信息
一个用于关闭SMS信息组件:

Public Declare Function SmsOpen Lib "SMS" (ByValptsMessageProtocol As String, ByValdwMessageModes As Long, ByRefpsmshHandle As Long, ByRefphMessageAvailableEvent As Long) As Long

Public Declare Function SmsSendMessage Lib "SMS" (ByValsmshHandle As Long, ByValpsmsaSMSCAddress As Long, ByVal psmsaDestinationAddress As String, ByValpstValidityPeriod As Long, ByValpbData As String, ByValdwDataSize As Long, ByVal pbProviderSpecificData As String, ByValdwProviderSpecificDataSize As Long, ByValsmsdeDataEncoding As Long, ByValdwOptions As Long,ByRefpsmsmidMessageID As Long) As Long

Public Declare Function SmsClose Lib "SMS" (ByValsmshHandle As Long) As Long

你还需要声明一些用于不同API的API常量:

Public Const SMS_MSGTYPE_TEXT = "Microsoft Text SMS Protocol"

Public Const SMS_MODE_SEND = 2            ' Open in send mode

Public Const SMSDE_GSM = 1                ' Use standard GSM encoding

Public Const SMSAT_INTERNATIONAL = 1      ' International number format

Public Const PS_MESSAGE_OPTION_NONE = 0   ' No message options

Public Const PS_MESSAGE_CLASS0 = 0        ' Send immediately

Public Const PSRO_NONE = 0                ' No replacements

Public Const SMS_OPTION_DELIVERY_NONE = 0 ' No delivery options

下面是发送一条SMS信息的完整代码:

Public Sub SendSMS(ByVal Number As String, ByVal Message As String)

Dim SMSHandleAs Long

  Dim SMSEventAs Long

  Dim SMSAddressAs String

  Dim SMSProviderAs String

' Open SMS Messaging Component

  Call SmsOpen(SMS_MSGTYPE_TEXT, SMS_MODE_SEND, SMSHandle, SMSEvent)

' Set Address structure (UDT as string)

  SMSAddress = LongToBytes(SMSAT_INTERNATIONAL) & Number

' Set Provider structure (UDT as string)

  SMSProvider = LongToBytes(PS_MESSAGE_OPTION_NONE) & _

                LongToBytes(PS_MESSAGE_CLASS0) & _

                LongToBytes(PSRO_NONE)

' Send message

  If 0 = SmsSendMessage(SMSHandle, 0, SMSAddress, 0, Message, _

         LenB(Message), SMSProvider, 12, SMSDE_GSM, _

         SMS_OPTION_DELIVERY_NONE, 0) Then

    MsgBox "Message sent!",vbInformation, App.Title

  Else

    MsgBox "Could not send message!",vbCritical, App.Title

  End If

' Close SMS Messaging Component

  Call SmsClose(SMSHandle)

End Sub

首先,SMS信息组件被打开(SmsOpen),其句柄被保存(SMSHandle)。调用其它SMS API的时候需要这个句柄。

准备调用SmsSendMessage的时候需要多个结构或者UDT(用户定义的类型)。由于eMbedded Visual Basic缺乏对UDT的支持,所以会有一个简单的字符串用来仿真一个结构。

第一个是一个包含有SMS信息地址的结构。这个地址结构包含有一个指示器,用来表示提供的是什么类型的号码(在这个是一个国际号码)以及这个号码自身。

下一个结构包含有同服务提供商相关的各种选项。这个结构的第一部分表示没有特别的选项被选中,第二部分表示这条信息应该被立即发送。

最后一部分声明:不应该做出替换。

在对发送该信息(SmsSendMessage)的调用中,会提供已经准备好的结构,以及信息文本和多个选项。最后,这个句柄被关闭(SmsClose)。

要获得完整的例子,请参见本文的示例代码。此外,在Antonio Paneiro的文章《VBCE里的UDT(用户定义的类型)》里,你可以读到更多关于这个技术的内容。

结束语
SMS是发送短小和即时文本通知的好方法。随着Pocket PC 2002 Phone Edition对它的支持,你将能够让你的程序“识别SMS”。有了本例里的示例代码,你就了解了你该做什么。如果接受这样一种观点,即移动世界,用移动通信机制和协议的话来说,是“和(both/and)”而不是“或(or/else)”的,那么你就能够真正地用好每个选项。

 

 

上一篇:使用WinInet编写发送短信程序 人气:33833
下一篇:BREW、JAVA、.NET三大平台之比较 人气:24475
浏览全部SMS的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵