刚从学校毕业不久,对短信开发很感兴趣,通过VB6自带Mscomm32.ocx控件开发群发系统。采用GSM Moodem终端设备。PDU编码、解码、单条短信发送都没问题了,但遇到如下几个问题,困绕了几周都没搞定,迫于无奈只好向大家求救了,希望大家尽情指教,再此先谢谢了一、发送成功与否怎样进行叛断?
    当执行以下代码后,总不能捕获发送状态叛断?
   
   '//  msCom     是MScomm32.ocx控件
   '//  funPDU            是PDU编码函数     dim  txtRecon as string  '发送状态捕获
     msCom.Output = "AT+CMGS=" & Str(15 + txtLen) + vbCr
     msCom.Output = funPDU(txtNumber.Text, txtNo.Text, txtSend.Text, txtLen) + Chr$(26)    txtRecon = msCom.Input   '问题在这儿,总不能捕获到成功与否,没有提示
    If InStr(txtRecon, "OK") Then 
msgbox "发送成功"
    elseIf InStr(txtRecon, "ERROR") Then 
msgbox "发送成功"
    end if
二、关于群发问题?
    想了很久,一直没有一个好的解决方法,我采用循环发送发式,但结果只有最后一个人能收到,其他人都没有收到实现方式如下:   '//  frmMain.msCom     是MScomm32.ocx控件
   '//  rsSend!phone1     数据库中取出的发送号码
   '//  funPDU            是PDU编码函数
 
   If frmMain.msCom.PortOpen = False Then
        MsgBox "设备关闭,不能发送。", vbCritical + vbOKOnly
        Exit Sub
    End If    Dim txtLen As String  '定义短信长度
    Dim txtCsca As String
    txtLen = Len(txtSend.Text) * 2
    txtCsca = "+8613800851500"
    frmMain.msCom.Output = "AT+CMGF=0" + vbCr'===========群发=====================
    Dim i As Integer
    If Not rsSend.EOF Then
        rsSend.MoveFirst
        Do While Not rsSend.EOF
            frmMain.msCom.Output = "AT+CMGS=" & Str(15 + txtLen) + vbCr
            frmMain.msCom.Output = funPDU(txtCsca, rsSend!phone1, txtSend.Text, txtLen) + Chr$(26)
            txtSm.Text = "正在发送:" & Trim(rsSend!name) & "---" & Trim(rsSend!phone1) & Chr(13)
            txtSendLogo.Text = frmMain.msCoc.InPut  '短信发送状
            rsSend.MoveNext
        Loop
        txtSm.Text = "发送完毕...."
        MsgBox "发送成功", vbOKOnly + 48
    End If
    
'===========群发=====================
三、实时接收短信?
    实时接收,我想了很久也没想通这个问题。怎么能实现?
    比如,在超级终端里接收到如下:+CMTI: "SM",3  我怎样知道我已经收到短信?晕呀???