所屬欄目:軟件開發(fā)論文 發(fā)布日期:2012-04-19 15:51 熱度:
1、論文引言
短信MODEM(短信貓)目前在城市安防工程、信息化系統(tǒng)管理、辦公自動化OA等方面都有廣泛的使用,例如,筆者曾參與過的城市安防工程建設(shè)項(xiàng)目中,就使用過短信貓發(fā)送治安報警信息到保衛(wèi)人員移動電話上,以便及時處理。但是短信貓硬件的實(shí)現(xiàn)具有一定局限性,一是經(jīng)濟(jì)成本較高,除硬件采購?fù)猓l(fā)送信息需要移動運(yùn)營商網(wǎng)絡(luò)的支持,產(chǎn)生一定的通信費(fèi)用。二是部署不靈活,不具備擴(kuò)展性。另一方面,伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展,各種網(wǎng)絡(luò)應(yīng)用和平臺層出不窮,最大的特點(diǎn)就是免費(fèi),靈活。那么是否可以利用互聯(lián)網(wǎng)免費(fèi)平臺實(shí)現(xiàn)短信貓功能呢?
經(jīng)過調(diào)研,論文提供了一種短信貓的軟件實(shí)現(xiàn)方式,即利用中國移動公司推出的“飛信”平臺,覆蓋三種不同形態(tài)(完全實(shí)時、準(zhǔn)實(shí)時和非實(shí)時)的客戶通信需求,實(shí)現(xiàn)互聯(lián)網(wǎng)和移動網(wǎng)間的無縫通信服務(wù)。
2、整體思路及原理
本程序?qū)崿F(xiàn)的思路是利用現(xiàn)代軟件開發(fā)過程中流行的SOA思想,實(shí)現(xiàn)一個飛信客戶端程序和用戶應(yīng)用間的中間件,利用第三方程序?qū)崟r監(jiān)控和獲取飛信客戶端程序的狀態(tài),同時監(jiān)控用戶應(yīng)用,與飛信客戶端程序,最終是用戶移動終端實(shí)現(xiàn)交互。
3、核心模塊實(shí)現(xiàn)
從程序運(yùn)行流程可以看出目前該程序業(yè)務(wù)核心集中在監(jiān)視飛信客戶端窗口狀態(tài)上。原理是掃描windows操作系統(tǒng)的窗口句柄及其屬性,以Fetion利用MicrosoftVisualStudio提供的SPY++工具對飛信客戶端進(jìn)行分析:
業(yè)務(wù)代碼實(shí)現(xiàn)不在此贅述,現(xiàn)給出利用MicrosoftMFC提供的API函數(shù)實(shí)現(xiàn)核心模塊的C++語言實(shí)現(xiàn)代碼,僅供大家參考。
飛信窗口枚舉掃描模塊的實(shí)現(xiàn)是編寫一個枚舉當(dāng)前指定窗口所有子窗口的回調(diào)函數(shù)EnumChildProc,然后被主主、從線程調(diào)用來獲取子窗口,即飛信客戶端發(fā)送或接收窗口句柄。
//回調(diào)函數(shù),傳進(jìn)來各參數(shù)為需要的各子窗口的窗口句柄
BOOLCALLBACKEnumChildProc(
HWNDhwnd,//handletochildwindow
LPARAMlParam//application-definedvalue
)
{
AutoFetion*pThis=(AutoFetion*)lParam;
longSytleValue=GetWindowLong(hwnd,GWL_STYLE);
if(SytleValue==0x56001004)//具體數(shù)值用SPY++獲取
{
//獲取接收人編輯框的句柄
pThis->SendObjectID=hwnd;
returnTRUE;
}
if(SytleValue==0x56001104)//具體數(shù)值用SPY++獲取
{
//獲取短信發(fā)送框的句柄
pThis->SendEditCtrID=hwnd;
returnTRUE;
}
if(SytleValue==0x56001804)//具體數(shù)值用SPY++獲取
{
//利用子窗口style屬性獲取接收框句柄
pThis->RecvEditCtrID=hwnd;
returnTRUE;
}
returnTRUE;
}
獲取的的飛信消息接收窗口和發(fā)送窗口句柄分別保存在變量RecvEditCtrID和SendEditCtrID中。
消息發(fā)送模塊,主要利用windowsapi函數(shù)SendMessage給指定窗口發(fā)送消息實(shí)現(xiàn),同時模擬鼠標(biāo)消息,觸發(fā)飛信客戶端發(fā)送控件給指定手機(jī)發(fā)送短信。
boolAutoFetion::SendTo(CString&text)
{
::SetWindowPos(pObjectWnd->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOSIZE);
::SendMessage((HWND)SendEditCtrID,WM_PASTE,NULL,NULL);
//將鍵盤輸入焦點(diǎn)聚焦在短信文本輸入框,以便回車發(fā)出短信消息
SetFocus((HWND)SendEditCtrID);
::SendMessage((HWND)SendEditCtrID,WM_KEYDOWN,VK_RETURN,0);
returntrue;
}
消息獲取分發(fā)模塊,同樣利用SendMessage函數(shù)向接收窗口發(fā)送消息獲取接收窗口收到的短消息。
::SendMessage(RecvEditCtrID,WM_GETTEXT,100,(LPARAM)TextString);
CStringTempString=TextString;
Switch(TextString)
{
case用戶指令1:
執(zhí)行;
case用戶指令2:
執(zhí)行;
}
4、論文結(jié)束語
目前除中國移動通信公司官方開發(fā)的終端軟件外,利用fetion服務(wù)的特點(diǎn)開發(fā)的其他應(yīng)用尚不廣泛。目前主要是一些網(wǎng)站利用中國移動官方的服務(wù)端口開發(fā)的web短信接口。但是這些應(yīng)用都存在兩個局限性:一是其未經(jīng)中國移動官方許可模擬飛信終端登錄官方服務(wù)器,牽扯知識產(chǎn)權(quán)保戶的問題。二是以上非官方應(yīng)用方式都是通過抓包分析官方飛信的協(xié)議,模擬官方終端登錄服務(wù)器實(shí)現(xiàn)短信的發(fā)送,一旦官方協(xié)議發(fā)生改變,則服務(wù)即不可使用。而短信貓的軟件實(shí)現(xiàn),則提供了一種經(jīng)濟(jì)靈活的通信方式,通過對其接口的擴(kuò)展,甚至可以實(shí)現(xiàn)圖片和文件的傳輸,在城市安防、信息化系統(tǒng)管理等諸多方面都有廣泛的應(yīng)用空間。
文章標(biāo)題:短信MODEM的軟件實(shí)現(xiàn)之軟件開發(fā)論文
轉(zhuǎn)載請注明來自:http://m.anghan.cn/fblw/dianxin/ruanjiankaifa/11764.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:106
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個...關(guān)注:192
測繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時開論文檢索證明很重要關(guān)注:52
中國水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國際出書需要了解的問題解答關(guān)注:58
合著出書能否評職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:121
評職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報刊資料重要轉(zhuǎn)載來源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評估...關(guān)注:59
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計算機(jī)信息管理論文 計算機(jī)網(wǎng)絡(luò)論文 計算機(jī)應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
SCI期刊分析
copyright © m.anghan.cn, All Rights Reserved
搜論文知識網(wǎng) 冀ICP備15021333號-3