如果你发送一条短信后回复信息 +CNTI:“SM”,3 这个3表示的是你现在这个卡上的第三条信息
此时发送AT+CMGR=3就可以读取这一条短信
如果要删除这一条短信的话发送AT+CMGD=3
下面是一些AT+CMGD指令的作用
AT+CMGD=1,0 The message from the preferred message storage at the location 1 is deleted
AT+CMGD=1,1 ALL READ messages from the preferred message storage are deleted
AT+CMGD=1,2 ALL READ messages and SENT mobile originated messages are deleted
AT+CMGD=1,3 ALL READ,SENT and UNSENT messages are deleted
AT+CMGD=1,4 ALL messages are deleted
Private Sub Command11_Click()
If Not MSComm1.PortOpen Then MSComm1.PortOpen = True
str = ""
MSComm1.Output = "AT+CMGL=0" + Chr$(13)
flag = True '读取消息标志
If flag = False Then Exit Sub
Dim i As Integer, prenum As Integer
Dim str1 As String, str2 As String, str3 As String, str4 As String
i = 0: prenum = 0
str1 = "" '保存消息总编号
If Len(str) < 70 Then Exit Sub
Do
str1 = str1 + Mid(str, 13 + i, 1)
i = i + 1
Loop Until Mid(str, 13 + i, 2) = vbCrLf
smrs.MoveLast '找到消息记录的上一个记录
i = smrs.Fields("信息编号")
devrs.Seek "=", str2
If devrs.NoMatch Then
MsgBox "发送者非远程设备,已经将此信息删除!", 0, "提示信息"
MSComm1.Output = "AT+CMGD=1" + Chr$(13) '及时删除新的短消息!~~~~~~~~~我改的地方
Exit Sub
End If