另外,由於簡訊**會造成各種各樣的問題,有些是違法的,希望大家別以身試法。
開始吧!實現簡訊傳送,必須有傳送簡訊的裝置,我用的是gsm modem,裝置沒什麼特別,通電接上電腦就行了,沒驅動,沒設定。所有問題都在 c++ 程式設計上,因為裝置是com介面,所以涉及到一些com i/o 操作,不過非常簡單,因為windows 的所有i/o 都可以用file i/o api 來完成,也就是openfile、writefile、readfile這幾個函式啦,簡單吧!
第一步:傳送hello world!到你手機
先別急著寫**,我們用現有的工具(超級終端)吧。啟動方法【開始】->【所有程式】->【附件】->【通訊】->【超級終端】(別怪我羅嗦,我第一次真的不知道『超級終端』在**),啟動後在『連線描述』對話方塊的『名稱』裡就隨便填『aa』就行了,沒意義但必填而已,接著會出現『連線到』對話方塊,這裡需選一下,在『連線時使用』選『com1』,因為我的 gsm modem 是連線在com1的,要是你的有變動的話,可以嘗試選其他,例如『com2』,最後按確定,出現『com1屬性』對話方塊,按這個引數設定吧:每秒位數[9600],資料位[8],奇偶校驗[無],停止位[1],資料流控制[無]。點確定,配置完畢,然後在超級終端的輸入框輸入『at』,如果有顯示『ok』的話,那麼你成功了,gsm modem 與電腦連線正常。
輸入以下指令來傳送簡訊吧:
at+cmgf=1
// 成功的話會返回『ok』
at+cmgs=137888888xx
成功的話會返回『>』這個大於號,注意,手機號當然要填你自己的啦。
> hello world!
// 輸完hello world!後,你按住ctrl 然後按 z 字母鍵,這是古久以前 dos 的 eof 標誌。
// 順利的話,你的手機3秒內會收到簡訊。
如果你這裡沒成功,沒關係,上google或baidu找找「超級終端 at指令之類的」就行了。
第二步:開始c++程式設計
這裡需要了解「簡訊pdu編碼解碼」這個問題,可以上google 或baidu查查,如果我在這裡說的話,文章就會太長了,其實這問題很簡單,而且我會把處理**給出來。
pdu編碼函式:
lpstr cxsmsdlg::changecode(lpctstr lptext)
// 設定簡訊中心
lpstr sms_center_code(lpctstr lptext)
tmp[14] = 'f';
tmp[16] = null;
int len = strlen(tmp);
char szlen[3];
sprintf(szlen, "%02d", len/2);
for(i=0; i<18; i++)
tmp[0] = szlen[0];
tmp[1] = szlen[1];
return tmp;
}// 手機號碼的編碼
lpstr sms_phone(lpctstr lptext)
tmp[12] = 'f';
tmp[14] = null;
char *ret = new char[20+8+6];
sprintf(ret, "%s%s%s", "11000d91", tmp, "000800");
delete tmp;
return ret;
}// 提交簡訊
void sendsms()
註明出處:
C 發手機簡訊(很易很簡單)
另外,由於簡訊 會造成各種各樣的問題,有些是違法的,希望大家別以身試法。開始吧!實現簡訊傳送,必須有傳送簡訊的裝置,我用的是gsm modem,裝置沒什麼特別,通電接上電腦就行了,沒驅動,沒設定。所有問題都在 c 程式設計上,因為裝置是com介面,所以涉及到一些com i o 操作,不過非常簡單,因...
使用網建平台發手機簡訊
實現簡訊傳送方式有很多,一直都用這個平台發手機簡訊的,做專案的時候用到了,先記下來,以作備用 using system using system.collections.generic using system.io using system.linq using system.net using ...
c 實現手機簡訊傳送(1)
中文c 技術站 進入論壇 2006 07 26 11 43 關 鍵 詞 c web service 簡訊通過程式設計方式實現簡訊息的傳送對很多人來說是一件比較煩雜的事情,目前一般的解決方法是通過計算機和手機的連線,通過可對手機程式設計的語言編寫相關的手機簡訊息程式來實現,而這種方法對於一般人來說是很...