如何通过Windows应用程序发送短信

Dee*_*pak 5 .net vb.net sms serial-port

我想通过Windows应用程序发送短信.我运行了代码但是我收到了一个错误.这是

AT

OK AT+CMGF=1

OK AT+CSCA="+9460921985"

OK AT+CMGS="+9660775564"

    this is new message

+CMS ERROR: 500
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码.

Public Class Form2 
  Dim number As String = "+9660775564"
  ''# Dim message As String = TextBox1.Text 
  Dim serialport As New IO.Ports.SerialPort 

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Try With serialport 
      .PortName = "COM5" ''# "COM24" 
      .BaudRate = "9600" 
      .Parity = IO.Ports.Parity.None 
      .DataBits = 8 
      .StopBits = IO.Ports.StopBits.One
      .Handshake = IO.Ports.Handshake.RequestToSend 
      .DtrEnable = True .RtsEnable = True 
    End With

    serialport.Open()
    ''# checks phone status
    serialport.WriteLine("AT" & vbCrLf)
    ''# Configures message as SMS
    serialport.WriteLine("AT+CMGF=1" & vbCrLf)
    ''# Sets message center number
    ''# serialport.WriteLine("AT+CSCA=""+447785016005""" & vbCrLf)
    serialport.WriteLine("AT+CSCA=""+9460921985""" & vbCrLf)
    ''# Sets destination number
    serialport.WriteLine("AT+CMGS=""" & number & """" & vbCrLf)
    ''# Specifies message and sends Ctrl+z
    serialport.WriteLine(TextBox1.Text & Chr(26))
    ''# Displays buffer containing output messages
    System.Threading.Thread.Sleep(2000) ''# CurrentThread.Sleep(2000)
    MsgBox(serialport.ReadExisting)
    serialport.Close()
    MessageBox.Show("OK")

  Catch ex As Exception
    MessageBox.Show(ex.Message)
  End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

sam*_*son 2

我根本没有编写短信的经验,但您似乎正在调用serialPort.WriteLine 并在行尾附加vbCrLf。

其次,你确定它是你想要的 vbCrLf - 我看到的一些东西只是指“回车符” - 这将是 vbCr。