程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#開發終端式短信的原理和方法(8)

C#開發終端式短信的原理和方法(8)

編輯:關於C語言

步驟八、看到上在的結果,是不是感覺到離成功發送短信很近啦,看這麼長的文章,費了大家不少時間,再不亮出發短信部份,對不起大家了。

雙擊發送按鈕,將下面代碼拷入程序中。

/// <summary>
/// 發送短信
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSend_Click(object sender, System.EventArgs e)
{
 string decodedSMS = sms.smsDecodedsms(CenterNumber.Text,targetNumber.Text,smsContent.Text);
 byte[] buf =Encoding.ASCII.GetBytes(String.Format("AT+CMGS={0}\r",sms.nLength));
 ss_port.Write(buf);
 string response = Encoding.ASCII.GetString(ss_port.Read(128));
 string SendState = "";
 if( response.Length > 0 && response.EndsWith("> "))
 {
  ss_port.Write(Encoding.ASCII.GetBytes(String.Format("{0}\x01a",decodedSMS)));
  SendState = "發送成功!";
 }
 else
 {
  SendState = "發送失敗";
 }
 string Result = String.Format("{0},{1},{2},\n\r",targetNumber.Text,smsContent.Text,SendState);
 smsState.Text += Result;
}

快按F5吧!神啊,快通過吧!不用求神了,已經通過了,現在你就可以發短信了,請確保手機可以正常連接電腦。按連接,然後填入你要的發送的目標手機號,並在內容中添入你要發送的內容,發送吧!成功了!成功了是這樣子的!看你的跟我的一樣嗎?

圖五、發送成功

還有一些事 不要忘了,記得添加退出代碼。雙擊退出,添加下面代碼:

/// <summary>
/// 關閉串口,退出程序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnExit_Click(object sender, System.EventArgs e)
{
 ss_port.Close();
 Application.Exit();
}

到這裡都告一個段落了,所有的功能都完成了!不過由於這僅僅是一個演示用例,還有很多沒有考慮,像串口通信中的,在實際操作不可這樣操作的,應該用多線程來處理,一個專門用來讀串口,一個專門用來寫串口。還有程序中很多防出錯代碼沒有添加進去,希望有心有朋友添加,並公布出來,這也是我寫這篇文章希望看到的結果。請勿將本程序直接用於實際中,真誠提醒你!

終於寫完了,我也放松了許多,本來很早就應該完成了,因為一些個人原因,沒有及時寫完,向那些曾經問過我相關問題,沒有及時回復的朋友,抱歉一聲,希望你們繼續支持我!

調試環境:

Windows 2000 Professional、Visual Studio.Net、西門子3508手機、西門子專用數據線。

常見問題:

第一, 手機品牌,因為不同產商的手機,對AT指令的支持不同,所以請選擇適合你手機AT指令,像NOKIA的就只能用TEXT模式的AT指令。

第二, 數據線,問題出得最多的地方也就是數據,如果接上數據線後,你的手機顯示為黑屏,建議你換數據線。

第三, 手機SIM卡上的短信中心號設置,請確保在你的手機上可以發送短信。

第四, 請你先用串口調試工具調試手機與電腦的連接,這樣對你整個工作都是一個保證。

作者申明:

1、本文示例程序,可以任意拷貝、傳播,但請保留作者的版權申明,以及第三方類庫作者的版權申明。

3、本文為版權歸本文所有,未作者及天極網的同意不得轉載。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved