我的客户想要一个简单的C#WinForms应用程序通过华为E303加密狗发送短信。我使用下面的代码,它成功地运行。
public class SMSSender
{
SerialPort sp = new SerialPort();
public bool SendMessage(string PhoneNumber, string Message, int port)
{
string selectedPort = String.Concat("COM", port);
sp.PortName = selectedPort;
sp.Open();
PhoneNumber = char.ConvertFromUtf32(34) + PhoneNumber + char.ConvertFromUtf32(34);
sp.Write("AT+CMGF=1" + char.ConvertFromUtf32(13));
sp.Write("AT+CMGS=" + PhoneNumber + char.ConvertFromUtf32(13));
sp.Write(Message + char.ConvertFromUtf32(26) + char.ConvertFromUtf32(13));
sp.Close();
}
}
但问题是,此代码不会自动检测加密狗端口号。我无法硬编码端口号,因为当他将加密狗连接到不同的USB端口时,端口号会发生变化。作为一个简单的解决方案,我添加了一个文本框来手动输入端口号。
有人可以帮我改进此代码以自动检测加密狗端口号吗?