ÐÂÐÍPocket PCµç»°°æÒѽ«Pocket PCËù¾ß±¸µÄÈ«²¿¾«ÃîÌØÐÔͬ×îе绰¹¦Äܼ¯ÓÚÒ»Éí£¬ÎÒÃǸõ½ÌÔÌÀÏʽÊÖ»úµÄʱºòÁË¡£ ¹ú²úÁªÏë ET180, dopod 696£¬dopod 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±àдһ¸öС³ÌÐò£¬ÊµÏÖPPCºÍPCÖ®¼äµÄͨѶ£¬´ïµ½°Ñet180»úÆ÷×÷Ϊ¶ÌÐÅÖÐÐĵÄÄ¿µÄ£¬ÊµÏÖÈç°ì¹«×Ô¶¯»¯ÏµÍ³Ö®ÀàµÄÓ¦ÓÃÈí¼þ ÊÖ»ú¶ÌÐÅÊÕ·¢¹¦ÄÜ¡£ ´ó¼ÒÈçÓм¼Êõ·¢ÃæµÄÒâ¼û½¨Ò飬Çëµ½MSN(mr_hsx@hotmail.com £¬Seala@126.com)ÉÏÁªÏµ¡£ |