亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? smstraffic.cpp

?? 可以自動接收短信
?? CPP
字號:
// SmsTraffic.cpp: implementation of the CSmsTraffic class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SmsTest.h"
#include "SmsTraffic.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSmsTraffic::CSmsTraffic()
{
	m_nSendIn = 0;
	m_nSendOut = 0;
	m_nRecvIn = 0;
	m_nRecvOut = 0;

	m_hKillThreadEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);
	m_hThreadKilledEvent = ::CreateEvent(NULL, TRUE, FALSE, NULL);

	::InitializeCriticalSection(&m_csSend);
	::InitializeCriticalSection(&m_csRecv);

	// 啟動子線程
	::AfxBeginThread(SmThread, this, THREAD_PRIORITY_NORMAL);
}

CSmsTraffic::~CSmsTraffic()
{
	::SetEvent(m_hKillThreadEvent);			// 發出關閉子線程的信號
	::WaitForSingleObject(m_hThreadKilledEvent, INFINITE);	// 等待子線程關閉

	::DeleteCriticalSection(&m_csSend);
	::DeleteCriticalSection(&m_csRecv);

	::CloseHandle(m_hKillThreadEvent);
	::CloseHandle(m_hThreadKilledEvent);
}

// 將一條短消息放入發送隊列
void CSmsTraffic::PutSendMessage(SM_PARAM* pSmParam)
{
	::EnterCriticalSection(&m_csSend);

	::memcpy(&m_SmSend[m_nSendIn], pSmParam, sizeof(SM_PARAM));

	m_nSendIn++;
	if(m_nSendIn >= MAX_SM_SEND)  m_nSendIn = 0;

	::LeaveCriticalSection(&m_csSend);
}

// 從發送隊列中取一條短消息
BOOL CSmsTraffic::GetSendMessage(SM_PARAM* pSmParam)
{
	BOOL fSuccess = FALSE;

	::EnterCriticalSection(&m_csSend);

	if(m_nSendOut != m_nSendIn)
	{
		::memcpy(pSmParam, &m_SmSend[m_nSendOut], sizeof(SM_PARAM));

		m_nSendOut++;
		if(m_nSendOut >= MAX_SM_SEND)  m_nSendOut = 0;

		fSuccess = TRUE;
	}

	::LeaveCriticalSection(&m_csSend);

	return fSuccess;
}

// 將一條短消息放入接收隊列
void CSmsTraffic::PutRecvMessage(SM_PARAM* pSmParam)
{
	::EnterCriticalSection(&m_csRecv);

	::memcpy(&m_SmRecv[m_nRecvIn], pSmParam, sizeof(SM_PARAM));

	m_nRecvIn++;
	if(m_nRecvIn >= MAX_SM_RECV)  m_nRecvIn = 0;

	::LeaveCriticalSection(&m_csRecv);
}

// 從接收隊列中取一條短消息
BOOL CSmsTraffic::GetRecvMessage(SM_PARAM* pSmParam)
{
	BOOL fSuccess = FALSE;

	::EnterCriticalSection(&m_csRecv);

	if(m_nRecvOut != m_nRecvIn)
	{
		::memcpy(pSmParam, &m_SmRecv[m_nRecvOut], sizeof(SM_PARAM));

		m_nRecvOut++;
		if(m_nRecvOut >= MAX_SM_RECV)  m_nRecvOut = 0;

		fSuccess = TRUE;
	}

	::LeaveCriticalSection(&m_csRecv);

	return fSuccess;
}


UINT CSmsTraffic::SmThread(LPVOID lParam)
{
	CSmsTraffic* p=(CSmsTraffic *)lParam;	// this
	int nMsg;					// 收到短消息條數
	int nDelete;				// 目前正在刪除的短消息編號
	int i;
	SM_PARAM SmParam[128];		// 短消息緩沖區
	enum {
		stHaveRest,				// 休息,延時
		stGetSendMessage,		// 取一條待發送的短消息
		stDoSendMessage,		// 發送短消息
		stSendWaitIdle,			// 發送不成功,等待GSM就緒
		stDoRecvMessage,		// 接收短消息
		stPutRecvMessage,		// 儲存接收的短消息
		stDeleteMessage,		// 刪除短消息
		stDeleteWaitIdle,		// 刪除不成功,等待GSM就緒
		stExit					// 退出
	} nState;					// 處理過程的狀態

	nState = stHaveRest;

	// 發送和接收處理的大循環
	while(nState != stExit)
	{
		switch(nState)
		{
			case stHaveRest:
				::Sleep(1000);
				nState = stGetSendMessage;
				break;
			case stGetSendMessage:
				if(p->GetSendMessage(&SmParam[0]))  nState = stDoSendMessage;
				else nState = stDoRecvMessage;
				break;
			case stDoSendMessage:
				if(::gsmSendMessage(&SmParam[0]))  nState = stDoRecvMessage;
				else nState = stSendWaitIdle;
				break;
			case stSendWaitIdle:
				::Sleep(1000);
				nState = stDoSendMessage;
				break;
			case stDoRecvMessage:
				nMsg = ::gsmReadMessage(SmParam);
				if(nMsg > 0)  nState = stPutRecvMessage;
				else nState = stHaveRest;
				break;
			case stPutRecvMessage:
				for(i = 0; i < nMsg; i++)  p->PutRecvMessage(&SmParam[i]);
				nState = stDeleteMessage;
				nDelete = 0;
				break;
			case stDeleteMessage:
				if(nDelete < nMsg)
				{
					if(::gsmDeleteMessage(SmParam[nDelete].index)) nDelete++;
					else nState = stDeleteWaitIdle;
				}
				else  nState = stHaveRest;
				break;
			case stDeleteWaitIdle:
				::Sleep(1000);
				nState = stDeleteMessage;
				break;
		}

		// 檢測是否有關閉本線程的信號
		DWORD dwEvent = ::WaitForSingleObject(p->m_hKillThreadEvent, 20);
		if(dwEvent == WAIT_OBJECT_0)  nState = stExit;
	}

	// 置該線程結束標志
	::SetEvent(p->m_hThreadKilledEvent);

	return 9999;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡电影免费在线播放一区| 久久99精品久久久久久国产越南| 国产亚洲综合性久久久影院| 日韩精品中文字幕在线一区| 正在播放亚洲一区| 欧美日韩精品电影| 日韩一区二区三区高清免费看看| 91精品国产91久久综合桃花| 欧美一区二区三区在线看| 制服丝袜日韩国产| 亚洲精选一二三| 樱桃视频在线观看一区| 亚洲日本在线视频观看| 亚洲制服欧美中文字幕中文字幕| 一区二区三区四区中文字幕| 亚洲午夜精品17c| 美腿丝袜在线亚洲一区| 激情成人综合网| 99久久国产综合精品麻豆 | 欧美日韩一区二区在线观看视频 | 欧美片网站yy| 欧美精品一区二区三区在线| 久久久亚洲精品一区二区三区 | 欧美综合视频在线观看| 欧美日韩一本到| 精品福利一二区| 亚洲视频网在线直播| 首页综合国产亚洲丝袜| 国产成人亚洲综合a∨婷婷| 色香蕉久久蜜桃| 日韩一区二区在线观看视频 | 亚洲日本中文字幕区| 午夜久久久久久久久久一区二区| 久久精品国产色蜜蜜麻豆| 成人h动漫精品| 欧美日韩中文字幕精品| 久久久久久久一区| 亚洲国产一区在线观看| 国产成人精品影院| 7777精品久久久大香线蕉| 国产精品视频yy9299一区| 蜜桃久久久久久久| 91蝌蚪国产九色| 久久精品欧美一区二区三区麻豆| 亚洲综合偷拍欧美一区色| 国产成人夜色高潮福利影视| 欧美一卡二卡三卡四卡| 一区二区三区中文字幕在线观看| 国产一区二区三区在线观看免费视频| 日本精品免费观看高清观看| 国产视频一区二区三区在线观看| 首页国产欧美日韩丝袜| 99精品1区2区| 国产精品国产馆在线真实露脸| 免费在线观看不卡| 国产精品国产三级国产| 精品一区中文字幕| 欧美一级二级在线观看| 亚洲国产另类av| 在线精品视频小说1| 自拍偷在线精品自拍偷无码专区| 韩国成人精品a∨在线观看| 337p亚洲精品色噜噜| 亚洲成人tv网| 91成人免费在线视频| 亚洲欧洲精品一区二区精品久久久| 久久91精品久久久久久秒播| 欧美一区二区三区日韩视频| 丝袜a∨在线一区二区三区不卡| 在线视频你懂得一区| 一区二区三区美女| 在线观看日韩精品| 亚洲精品免费在线| 日本道免费精品一区二区三区| 欧美激情中文不卡| 不卡电影免费在线播放一区| 国产精品高潮呻吟| 91小视频免费观看| 国产麻豆成人传媒免费观看| 91麻豆精品国产91久久久久久久久| 亚洲免费av在线| 欧美三区在线视频| 青青草97国产精品免费观看| 欧美疯狂做受xxxx富婆| 免费高清在线视频一区·| 精品精品欲导航| 国产乱人伦精品一区二区在线观看| 欧美精品一区二区三区久久久| 久久精品国产澳门| 欧美激情艳妇裸体舞| 成人黄色电影在线| 一区二区三区中文字幕| 欧美人与z0zoxxxx视频| 日韩精品一二三四| 久久久精品欧美丰满| 99久久精品一区二区| 亚洲国产精品影院| 精品国产91久久久久久久妲己 | 日韩中文字幕1| 精品国产一区久久| 91免费在线看| 亚洲国产精品影院| 久久日韩精品一区二区五区| 国产成人8x视频一区二区| 欧美国产激情一区二区三区蜜月 | 一区二区三区在线看| 91精品国产欧美一区二区18| 国产白丝精品91爽爽久久| 一区二区在线电影| 欧美成人乱码一区二区三区| 91在线免费看| 久久99精品国产.久久久久久| 国产精品视频一区二区三区不卡| 欧美欧美欧美欧美首页| 国产成人啪免费观看软件| 午夜视频一区在线观看| 国产精品人成在线观看免费| 91精品国产91久久久久久一区二区| 成人午夜精品在线| 另类人妖一区二区av| ...中文天堂在线一区| 日韩美女在线视频| 欧美性大战久久| 97久久精品人人做人人爽50路| 久久精品国产第一区二区三区| 亚洲精品第一国产综合野| 久久女同性恋中文字幕| 欧美高清你懂得| 91一区二区三区在线播放| 经典一区二区三区| 喷白浆一区二区| 亚洲va欧美va人人爽午夜| 中文字幕在线免费不卡| 久久精品视频一区| 久久综合狠狠综合| 91精品国产91久久久久久一区二区 | 亚洲乱码国产乱码精品精98午夜| 久久久亚洲国产美女国产盗摄 | 国产a精品视频| 久久精品二区亚洲w码| 五月婷婷色综合| 亚洲线精品一区二区三区| 亚洲欧美另类小说| 国产精品乱码一区二三区小蝌蚪| 精品日韩在线一区| 精品国产亚洲在线| 精品国产免费人成在线观看| 欧美一区二区三区思思人| 欧美一区日本一区韩国一区| 欧美日韩高清在线| 欧美日韩高清影院| 欧美一区二区三区在线看| 日韩亚洲欧美中文三级| 欧美一级久久久久久久大片| 日韩一区二区三区精品视频| 欧美一卡二卡三卡| 国产亚洲欧美色| 国产无遮挡一区二区三区毛片日本| 久久久综合视频| 亚洲欧美在线另类| 亚洲欧美日韩人成在线播放| 亚洲线精品一区二区三区| 青青草一区二区三区| 韩日精品视频一区| 成人福利在线看| 欧美亚洲丝袜传媒另类| 69堂亚洲精品首页| 久久九九久久九九| 亚洲另类色综合网站| 午夜影院久久久| 国内欧美视频一区二区| av亚洲产国偷v产偷v自拍| 色天使久久综合网天天| 欧美日韩黄视频| 久久亚洲综合色一区二区三区| 亚洲国产精品av| 亚洲午夜电影网| 国产乱理伦片在线观看夜一区| 波多野结衣中文字幕一区二区三区 | 亚洲一区在线观看视频| 青青青伊人色综合久久| 国产成人在线色| 欧美色图片你懂的| 久久综合狠狠综合久久综合88 | 99国产精品久久久久久久久久久| 国产女人水真多18毛片18精品视频 | 亚洲h动漫在线| 国产精品12区| 欧美三级韩国三级日本三斤| 欧美精品一区二区三区高清aⅴ| 国产精品久久久久天堂| 日本不卡123| 色一情一乱一乱一91av| 久久人人超碰精品| 亚洲成人午夜电影| 不卡av电影在线播放| 精品对白一区国产伦| 亚洲一区二区三区四区在线免费观看 | 久久丁香综合五月国产三级网站| 成人激情动漫在线观看|