我的客户想要一个简单的 C# WinForms 应用程序来通过华为 E303 加密狗发送 SMS 消息。我使用了下面的代码,它成功地工作了。
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 端口时,端口号会发生变化。作为一个简单的解决方案,我添加了一个文本框来手动输入端口号。
谁能帮我改进此代码以自动检测加密狗端口号?