您的位置:笔笔发 技术资料 手机基带射频 正文
内容搜索
笔笔发:技术产业信息平台----成就有识之士创业梦想的殿堂
热门内容
推荐内容
用PocketPCPhone替代AT指令的手机SMS服务


新型Pocket PC电话版已将Pocket PC所具备的全部精妙特性同最新电话功能集于一身,我们该到淘汰老式手机的时候了。

国产联想 ET180, dopod 696dopod 686 等,都是 Pocket PC Phone中的精品,且 ET180中关村售价己经降至 3700元!

看到大家在破8850等机器上折腾AT指令集编写短信收发程序,我感到万分难过。 有这么好用的 Pocket PC Phone,为什么还要用AT指令集的破玩意儿呢?

采用AT指令集编写短信收发程序,需要解决许多技术难题和非计算难题,能折腾你好一阵子,我们就不说了。加上一些不法商贩老是在网上倒腾些控件在兜售,我无法忍受了!

这里我提供了另外一种途径发送中文短信,并给出全部源码,供大家下载。

ET180 PPC机和多普达手机中,含有强大的WINCE操作系统,可以使用WINCE操作系统的开发工具开发出一个简单的短信发送程序。

环境:   联想et180机器,操作系统Pocket 2002, 开发工具为eVB3.0

源代码:

1、创建一个Modules: SMSMessage

源码如下:

Option Explicit

' API declarations

Public Declare Function SmsOpen Lib "SMS" (ByVal ptsMessageProtocol As String, ByVal dwMessageModes As Long, ByRef psmshHandle As Long, ByRef phMessageAvailableEvent As Long) As Long

Public Declare Function SmsSendMessage Lib "SMS" (ByVal smshHandle As Long, ByVal psmsaSMSCAddress As Long, ByVal psmsaDestinationAddress As String, ByVal pstValidityPeriod As Long, ByVal pbData As String, ByVal dwDataSize As Long, ByVal pbProviderSpecificData As String, ByVal dwProviderSpecificDataSize As Long, ByVal smsdeDataEncoding As Long, ByVal dwOptions As Long, ByRef psmsmidMessageID As Long) As Long

Public Declare Function SmsClose Lib "SMS" (ByVal smshHandle As Long) As Long

' API constants

Public Const SMS_MSGTYPE_TEXT = "Microsoft Text SMS Protocol"

Public Const SMS_MODE_SEND = 2       ' Open in send mode

Public Const SMSDE_GSM = 0         ' Use Unicode GSM encoding

Public Const SMSAT_INTERNATIONAL = 1    ' International number format

Public Const PS_MESSAGE_OPTION_NONE = 1  ' 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

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

 Dim SMSHandle As Long

 Dim SMSEvent As Long

 Dim SMSAddress As String

 Dim SMSProvider As String

 

 ' Open SMS Messaging Component

 If 0 <> SmsOpen(SMS_MSGTYPE_TEXT, SMS_MODE_SEND, SMSHandle, SMSEvent) Then

  MsgBox "Could not open SMS component!", _

      vbCritical, App.Title

  Exit Sub

 End If

 ' 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

  MsgBox "短信息发送成功!", vbInformation, App.Title

 Else

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

  MsgBox "短信息发送失败!", vbCritical, App.Title

 End If

 

 ' Close SMS Messaging Component

 If 0 <> SmsClose(SMSHandle) Then

  'MsgBox "Could not close SMS component!", vbCritical, App.Title

  MsgBox "无法关闭短信息组件!", vbCritical, App.Title

  Exit Sub

 End If

End Sub

Function LongToBytes(ByVal Value As Long) As String

 

 Dim lsHex As String, i As Integer

 

 lsHex = Right("00000000" & Hex(Value), 8)

 For i = 1 To 7 Step 2

  LongToBytes = ChrB(CInt("&H" & Mid(lsHex, i, 2))) & LongToBytes

 Next

End Function

Function BytesToLong(ByVal Value As String) As Long

 

 Dim lsHex As String, i As Integer

 

 For i = 1 To 4

  lsHex = Hex(AscB(MidB(Value, i, 1))) & lsHex

 Next

 BytesToLong = CLng("&H" & lsHex)

End Function

2、创建一个窗体,frmSMS

包含两个文本框,一个按钮,源码如下:

Private Sub Command1_Click()

  SendSMS txtNumber.Text, txtMessage.Text

End Sub

大家可以用winSock编写一个小程序,实现PPCPC之间的通讯,达到把et180机器作为短信中心的目的,实现如办公自动化系统之类的应用软件 手机短信收发功能。

大家如有技术发面的意见建议,请到MSN(mr_hsx@hotmail.com Seala@126.com)上联系。


 
点这里复制本页地址发送给您QQ/MSN上的好友
相关文章

手机AT指令集
MTK6573与高通7227性能对比测试
IPHONE图解
中兴V880拆机报告
GSM手机校准和测试原理
MSM6800.datasheet
AT指令介绍及用法
手机短信息SMS的程序开发
短信收发模块TC35i的外围电路设计
基于GSM网络的短信平台开发
嵌入式GSM短信息接口的软硬件设计
GSM模块TC35及其外围电路设计
单片机控制GSM模块实现短信收发的软件设计
基于GSM的煤气管道监测系统
单片机及GSM模块在嵌入式系统应用
CDMA网络介绍

相关评论


本文章所属分类:首页 技术资料 手机基带射频


反馈意见和建议