SMS的一个关键方面是,信息通过移动网络运营商的网络即时发送,而不要手动连接到Internet服务提供商(Internet Service Provider)——SMS信息是即时发送的,而电子邮件需要接收者在邮件服务器上接收。而且,如果接收者不在线的话——例如电话关机——SMS信息会被保存在运营商(的服务器上),并在电话再次开机的时候转发出去。
在装有Pocket PC 2002 Phone Edition的设备上,你可以像管理电子邮件信息一样管理SMS消息。SMS消息组件同标准的收件箱(Inbox)应用程序集成在一起,这就让你能够像发送和接收电子邮件一样发送和接收短消息。你甚至能够将电子邮件作为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