【发布时间】:2015-05-14 05:26:55
【问题描述】:
我正在使用 C# 桌面应用程序来检测通过 USB 连接的设备的 IMEI。安装驱动程序并运行 AT 命令后,我让它与三星设备一起使用。是否有适用于所有设备的通用方法。
【问题讨论】:
标签: c# windows mobile usb desktop-application
我正在使用 C# 桌面应用程序来检测通过 USB 连接的设备的 IMEI。安装驱动程序并运行 AT 命令后,我让它与三星设备一起使用。是否有适用于所有设备的通用方法。
【问题讨论】:
标签: c# windows mobile usb desktop-application
任何支持 at 命令的设备都可以使用 C# serial port class 进行访问。一旦我们通过串行端口获得设备,我们就可以发送命令并响应这些命令。这就是我们如何发送 IMEI 号码的 AT 命令,并通过统一接口为所有类型的支持 AT 命令并可以通过 COM 端口访问的设备获取号码作为 at 命令的响应。
我找到了关注example on codeproject获取IMEI号并稍作修改。
private string GetIMEINumber(string PortName) //Serial
{
string key = "";
SerialPort serialPort = new SerialPort();
serialPort.PortName = PortName;
serialPort.BaudRate = 9600;
try
{
if (!(serialPort.IsOpen))
serialPort.Open();
serialPort.Write("AT\r\n");
Thread.Sleep(3000);
key = serialPort.ReadExisting();
serialPort.Write("AT+CGSN\r\n");
Thread.Sleep(3000);
key = serialPort.ReadExisting();
serialPort.Close();
string Serial = "";
for (int i = 0; i < key.Length; i++)
if (char.IsDigit(key[i]))
Serial += key[i];
return Serial;
}
catch (Exception ex)
{
MessageBox.Show("Error in opening/writing to serial port :: " + ex.Message, "Error!");
return "";
}
}
【讨论】: