C#IMEI检测通过USB连接的任何设备

时间:2015-05-14 05:26:56

标签: c# windows mobile usb desktop-application

我正在使用C#桌面应用程序来检测通过USB连接的设备的IMEI。我在安装驱动程序和运行AT命令后使用三星设备。对于所有设备,有没有通用的方法。

1 个答案:

答案 0 :(得分:0)

任何支持at命令的设备都可以使用C#serial port class进行访问。一旦我们通过串口获取设备,我们就可以发送命令和响应这些命令。这就是我们如何发送IMEI号的AT命令,并通过统一接口获取数字作为at命令的响应,用于支持AT命令并可通过COM端口访问的所有类型的设备。

我发现以下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 "";
    } 
}