开发平台是VS.NET,语言使用C#,GSM使用西门子TC35i
步骤:
1、新建windows工程。
2、引用控件MScomm,命名为com,在窗体上添加2
textBox,分别命名为txtSend,txtReceive,添加2按钮,命名为cmdSend,cmdSendSms。
3、编辑函数InitComPort()
private void InitComPort()
{
// Set the com port to be 1
com.CommPort = 1;
    
// This port is already open, close it to reset it.
if (com.PortOpen) com.PortOpen = false;
    
// Trigger the OnComm event whenever data is received
com.RThreshold = 1;  
    
// Set the port to 9600 baud, no parity bit, 8 data bits, 1 stop bit (all standard)
com.Settings = "9600,n,8,1";

// Force the DTR line high, used sometimes to hang up modems
com.DTREnable = true;
    
// No handshaking is used
com.Handshaking = MSCommLib.HandshakeConstants.comNone;

// Don't mess with byte arrays, only works with simple data (characters A-Z and numbers)
com.无效Mode = MSCommLib.无效ModeConstants.com无效ModeText;
    
// Use this line instead for byte array 无效, best for most communications
//com.无效Mode = MSCommLib.无效ModeConstants.com无效ModeText;
    
// Read the entire waiting data when com.无效 is used
com.无效Len = 0;

// Don't discard nulls, 0x00 is a useful byte
com.NullDiscard = false;
    
// Attach the event handler
com.OnComm += new System.EventHandler(this.OnComm);
    
// Open the com port
com.PortOpen = true;  
}
在窗体load的时候调用上面的函数。
4、添加事件
private void OnComm(object sender, EventArgs e)  //  MSCommLib OnComm Event Handler

txtReceive.AppendText ((string)com.无效 );

5、添加按钮事件
 private void cmdSend_Click(object sender, System.EventArgs e) {
            com.Output =txtSend.Text+'\r' ;
        }
6、发短消息。
private void cmdSendSms_Click(object sender, System.EventArgs e) 
{
string str;
str="at+cmgs="  +'\"'+ "13*********"+ '\"'+'\r';
com.Output =str ;
  str="aaaaaaa"+ '\u001a';
        com.Output =str ;

        }


5):收短消息

 private void receiveSms()
        {

        mscom.Output ="AT+CMGL="+'\"'+"ALL"+'\"'+'\r'+'\n';
         //mscom.Output ="AT+CMGL"+'\r'+'\n';
        System.Threading.Thread.Sleep(4000);
       // buffer=(string)mscom.无效 ;
       //  return buffer;   
         }
发送短消息
(6):private void sendSms(string num,string content)
        {
            mscom.Output ="AT+CMGS=\""+num+"\"\r";
            System.Threading.Thread.Sleep(200);
            mscom.Output =content+'\u001a';
       
               
            System.Threading.Thread.Sleep(4000);

        }
以上是使用GSM模块发短消息的主要代码。
收短消息可以向com发命令at+cmgr=1(2\3\4……)+\r即可
希望对大家有帮助。