Хочу попробовать отправить СМС сообщение из приложения C#, нашел несколько готовых примеров, воспользовался этим:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO.Ports;
namespace sms
{
class Program
{
static SerialPort pt;
static void Main(string[] args)
{
pt = new SerialPort();
Console.WriteLine("Отправляем сообщение.");
OpP();
bool result;
result = sendS("Test", "+79999999999");
if (result == true)
{
Console.WriteLine("Сообщение отправлено успешно");
}
else
{
Console.WriteLine("Не удалось отправить смс");
}
Console.ReadLine();
pt.Close();
}
private static bool sendS(string tsms, string tel)
{
if (!pt.IsOpen) return false;
try
{
System.Threading.Thread.Sleep(500);
pt.WriteLine("AT\r\n");
System.Threading.Thread.Sleep(500);
pt.Write("AT+CMGF=1\r\n");
System.Threading.Thread.Sleep(500);
}
catch
{
return false;
}
try
{
pt.Write("AT+CMGS=\"" + tel + "\"" + "\r\n");
System.Threading.Thread.Sleep(500);
pt.Write(tsms + char.ConvertFromUtf32(26) + "\r\n");
System.Threading.Thread.Sleep(500);
}
catch
{
return false;
}
try
{
string recievedData;
recievedData = pt.ReadExisting();
if (recievedData.Contains("ERROR"))
{
return false;
}
}
catch { }
return true;
}
private static void OpP()
{
pt.BaudRate = 2400;
pt.DataBits = 7;
pt.StopBits = StopBits.One;
pt.Parity = Parity.Odd;
pt.ReadTimeout = 2500;
pt.WriteTimeout = 2500;
pt.Encoding = Encoding.GetEncoding("windows-1251");
pt.PortName = "COM4";
if (pt.IsOpen)
pt.Close();
try
{
pt.Open();
}
catch { }
}
}
}
Однако компилятор выдает ошибку:
Подскажите, пожалуйста, из-за чего возникает эта ошибка и как ее можно исправить, а также каким образом можно узнать PortName моего USB-модема?