使用C#开发GSM发短消息的程序
2005-05-26 18:48
405 查看
开发平台是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即可
希望对大家有帮助。
步骤:
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即可
希望对大家有帮助。
相关文章推荐
- 使用C#和MSMQ开发消息处理程序
- c#使用微信接口开发微信门户应用中微信消息的处理和应答
- 笔记1-从毕业生到程序员:使用C#开发商业软件
- 使用Assembly来开发c#程序
- 使用C#开发winform程序的界面框架
- 使用.net框架应用C#语言开发窗口程序的一些注意事项
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- 微信程序开发系列教程(二)使用JavaScript给微信用户发送消息
- 使用C#和Excel进行报表开发-用程序绑定数据源
- 使用C# .net开发微信公众号之给用户发送模板消息
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 使用C#开发SmartPhone程序入门
- 使用C#和MSMQ开发消息处理程序(转)
- 微信小程序开发之formId使用(模板消息)
- 使用C#和MSMQ开发消息处理程序
- 使用C#和MSMQ开发消息处理程序 lotusswan(原作)
- 使用Assembly来开发C#程序
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 微信程序开发系列教程(三)使用微信API给微信用户发文本消息
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源