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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gprs.cpp

?? WinMobile下的gprs測試代碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_TakeTheCall(void)
{
	GPRS_SendATCmd("ATA");

	return (GPRS_WaitResponseOK());
}


/*******************************************************************************************
函數(shù)名稱: GPRS_TakeTheCall
描    述: 掛斷電話(有電話打進(jìn)來時, 掛斷電話)
輸入?yún)?shù): 無
輸出參數(shù): 無
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_HangUpTheCall(void)
{
	GPRS_SendATCmd("AT+CHUP");
	
	return (GPRS_WaitResponseOK());
}


/*******************************************************************************************
函數(shù)名稱: GPRS_SetShortMSGCenterTel
描    述: 設(shè)置短信中心號碼
輸入?yún)?shù): CString strTelNum:  短信中心號碼
輸出參數(shù): 無
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_SetShortMSGCenterTel(CString strTelNum)
{
	CString strTmp;

	strTmp = strTelNum + ",145";

	GPRS_SendATCmd(strTelNum);

	return (GPRS_WaitResponseOK());
}


/*******************************************************************************************
函數(shù)名稱: FindMsgPos
描    述: 設(shè)置短信中心號碼
輸入?yún)?shù): CString strTelNum:  短信中心號碼
輸出參數(shù): 無
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
int CGPRS::FindMsgPos(int *posnum, int *numlen, int *posmsg, int *msglen)
{
	// 短信開始位置
	int posStart = m_strRespBuf.Find(_T("+CMGR:"), 0);					
	if (posStart < 0)
		return -1;

	// 電話號碼開始位置
	*posnum = m_strRespBuf.Find(_T("\"REC READ\",\""), posStart);	
	if (*posnum < 0)
		return -1;

	*posnum = *posnum + wcslen(_T("\"REC READ\",\""));			

	// 電話號碼結(jié)束位置
	int posnumend = m_strRespBuf.Find(_T("\""), *posnum + 1);
	if (posnumend < 0)
		return -1;

	// 電話號碼長度
	*numlen = posnumend - *posnum;				
	
	// 短信開始位置
	*posmsg = m_strRespBuf.Find(_T("\r\n"), posStart);				
	if (*posmsg < 0)
		return -1;

	*posmsg = *posmsg + wcslen(_T("\r\n"));	
	
	// 短信結(jié)束位置
	int posmsgend = m_strRespBuf.Find(_T("\r\n\r\nOK"), *posmsg);
	*msglen = posmsgend - *posmsg;
	
	return 1;
}


/*******************************************************************************************
函數(shù)名稱: GPRS_ReadShortMessage
描    述: 讀取短信內(nèi)容
輸入?yún)?shù): DWORD num		: 短信序號
輸出參數(shù): CString *Msg	: 短信內(nèi)容
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_ReadShortMessage(DWORD num, CString *strTelCode, CString *Msg)
{
	CString strReadNum;
	BOOL ret, retvalue;

	strReadNum.Format(_T("AT+CMGR=%d"), num);
	bSendATCmd = TRUE;
	GPRS_SendATCmd(strReadNum);									    /* 命令: 讀第 num 條短信 */

	while(1)
	{
		ret = WaitForSingleObject(m_ATCmdRespEvent, 2000);
		if (ret == WAIT_OBJECT_0)
		{
			if (m_strRespBuf.Find(_T("ERROR\r\n"), 0) > 0)		    /* 響應(yīng)為 ERROR */
			{
				//AfxMessageBox(_T("讀取短信發(fā)現(xiàn)錯誤"));
				retvalue = FALSE;
				break;
			}
			
			int posnum, numlen, posmsg, msglen;	
			int pos = FindMsgPos(&posnum, &numlen, &posmsg, &msglen);	/* 尋找短信位置 */
			if (pos > 0)
			{
				//char buffer[1024];

				//for (int i = 0; i < m_strRespBuf.GetLength(); i++)
				//	buffer[i] = (char)m_strRespBuf.GetAt(i);

				*strTelCode = m_strRespBuf.Mid(posnum, numlen);
				*Msg = m_strRespBuf.Mid(posmsg, msglen);				/* 取出短信內(nèi)容 */
				retvalue = TRUE;
				break;
			}
			
			ResetEvent(m_ATCmdRespEvent);
			
		}//end of if (ret == WAIT_OBJECT_0)
		else
		{
			//AfxMessageBox(_T("讀取短信超時"));
			retvalue = FALSE;
			break;
		}
	}

	ResetGlobalVarial();
	if (retvalue == FALSE)
		return FALSE;

	return TRUE;
}


/*******************************************************************************************
函數(shù)名稱: GPRS_SendShortMessage
描    述: 發(fā)送短信
輸入?yún)?shù): CString strTelNum : 對方電話號碼
輸出參數(shù): CString *Msg		: 短信內(nèi)容
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_SendShortMessage(CString strTelNum, CString Msg)
{
	BOOL ret, retvalue;
	int pos;

	/* 
	*	1. 發(fā)送電話號碼
	*/
	CString strNum;
	strNum.Format(_T("AT+CMGS=\"%s\""), strTelNum);
	bSendATCmd = TRUE;
	GPRS_SendATCmd(strNum);									/* 發(fā)送電話號碼 */

	while(1)
	{
		ret = WaitForSingleObject(m_ATCmdRespEvent, 2000);
		if (ret == WAIT_OBJECT_0)	
		{	
			pos = m_strRespBuf.Find(_T('>'), 0);
			if (pos > 0)
			{												/* 收到提示符, 現(xiàn)在可以往模塊寫入短信內(nèi)容了 */
				retvalue = TRUE;
				break;
			}
			pos = m_strRespBuf.Find(_T("ERROR\r\n"), 0);
			if (pos > 0)
			{
				retvalue = FALSE;							/* GPRS 響應(yīng)字符中包含有"ERROR" */
				break;
			}
		}
		else
		{
			retvalue = FALSE;
			break;
		}
	}

	ResetGlobalVarial();
	if (retvalue == FALSE) return FALSE;

	/* 
	*	2. 等待 '>' 提示符, 發(fā)送短信內(nèi)容
	*/
	bSendATCmd = TRUE;
	GPRS_WriteMsg(Msg);	

	while(1)
	{
		ret = WaitForSingleObject(m_ATCmdRespEvent,500);
		if (ret == WAIT_OBJECT_0)	
		{
			int pos = m_strRespBuf.Find(_T("ERROR\r\n"), 0);
			if (pos > 0)
			{
				retvalue = FALSE;
				break;
			}
			pos = m_strRespBuf.Find(_T("CMGS"), 0);
			if (pos > 0)
			{												/* 響應(yīng)正確, 發(fā)送成功 */
				retvalue = TRUE;
				break;
			}
		}
	}
	
	ResetGlobalVarial();
	if (retvalue == FALSE)
		return FALSE;

	return TRUE;
}


/*******************************************************************************************
函數(shù)名稱: CheckMsgNum
描    述: 檢查短信數(shù)量: SIN卡中有效短信數(shù)量及可納容的最大短信數(shù)量(private函數(shù))
輸入?yún)?shù): CString str	   : GPRS 響應(yīng)字符
輸出參數(shù): CString *strNum  : 有效短信數(shù)量
		  CString *strTotal: 可納容的最大短信數(shù)量
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CheckMsgNum(CString str, CString *strNum, CString *strTotal)
{
	int pos1 = str.Find(_T("\"SM\","), 0);			/* 標(biāo)識字符 */
	if (pos1 < 0)
		return FALSE;

	int pos2 = str.Find(_T(','), pos1 + 5);			/* 分隔逗號 */
	if (pos2 < 0)
		return FALSE;

	*strNum = str.Mid(pos1 + 5, pos2 - (pos1 + 5));	/* 現(xiàn)有短信數(shù)量 */

	int pos3 = str.Find(_T(","), pos2 + 1);
	if (pos3 < 0)
		return FALSE;

	*strTotal = str.Mid(pos2 + 1, pos3 - pos2 - 1); /* 可納容的最大短信數(shù)量 */

	return TRUE;
}


/*******************************************************************************************
函數(shù)名稱: GPRS_CheckMsgNum
描    述: 檢查短信數(shù)量: SIN卡中有效短信數(shù)量及可納容的最大短信數(shù)量(public函數(shù))
輸入?yún)?shù): 無
輸出參數(shù): CString *strNum  : 有效短信數(shù)量
		  CString *strTotal: 可納容的最大短信數(shù)量
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_CheckMsgNum(CString *strNum, CString *strTotal)
{	
	BOOL ret, retvalue;
	CString strTmp;

	bSendATCmd = TRUE;
	GPRS_SendATCmd(_T("AT+CPMS?"));									/* 查詢命令 */

	while(1)
	{
		ret = WaitForSingleObject(m_ATCmdRespEvent, 500);
		if (ret == WAIT_OBJECT_0)	
		{
			int pos = m_strRespBuf.Find(_T("ERROR\r\n"), 0);
			if (pos > 0)
			{
				retvalue = FALSE;
				break;
			}

			if (CheckMsgNum(m_strRespBuf, strNum, strTotal) == TRUE)
			{														/* 查詢成功 */
				retvalue = TRUE;
				break;
			}
			ResetEvent(m_ATCmdRespEvent);
		}
		else
		{
			retvalue = FALSE;
			break;			
		}
	}

	ResetGlobalVarial();
	if (retvalue == FALSE) 
		return FALSE;

	return TRUE;
}


/*******************************************************************************************
函數(shù)名稱: GPRS_DeleteShortMsg
描    述: 刪除短信
輸入?yún)?shù): 無
輸出參數(shù): DWORD num  : 短信序號
返    回: TRUE: 成功   FALSE: 失敗
********************************************************************************************/
BOOL CGPRS::GPRS_DeleteShortMsg(DWORD num)
{
	CString strCmd;
	BOOL ret;

	strCmd.Format(_T("AT+CMGD=%d"), num);

	GPRS_SendATCmd(strCmd);
	ret = GPRS_WaitResponseOK();
	if (ret == FALSE)
		return FALSE;

	return TRUE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜脚交一区二区| 国产精品一区二区果冻传媒| www日韩大片| 色综合久久综合网97色综合| 美国精品在线观看| 一区二区三区四区不卡在线| 欧美精品一区二区高清在线观看| 色婷婷综合五月| 国产精品资源在线看| 天天操天天色综合| 亚洲欧美日韩人成在线播放| 久久久久99精品国产片| 这里只有精品视频在线观看| 97se亚洲国产综合自在线不卡| 久久精品国产第一区二区三区| 亚洲午夜一区二区三区| 最新不卡av在线| 中文无字幕一区二区三区| 欧美一区二区三区不卡| 欧美性色黄大片手机版| 91丨九色丨蝌蚪富婆spa| 国产大片一区二区| 精品在线播放免费| 美国十次综合导航| 奇米色一区二区| 午夜精品久久一牛影视| 亚洲一区在线观看视频| 伊人婷婷欧美激情| 中文字幕欧美一区| 国产精品短视频| 国产精品美女久久久久aⅴ国产馆| 精品少妇一区二区三区日产乱码| 88在线观看91蜜桃国自产| 在线日韩一区二区| 色噜噜狠狠一区二区三区果冻| 91美女在线观看| 91在线视频网址| 日本精品视频一区二区三区| 91小宝寻花一区二区三区| 91污在线观看| 色成年激情久久综合| 91久久精品一区二区| 欧美亚洲一区三区| 欧美视频在线一区二区三区| 欧美精品久久久久久久多人混战 | 日本在线不卡视频一二三区| 亚洲午夜精品在线| 性做久久久久久免费观看欧美| 亚洲伦在线观看| 亚洲综合在线观看视频| 亚洲一级二级在线| 五月天欧美精品| 免费的国产精品| 麻豆精品新av中文字幕| 狠狠狠色丁香婷婷综合久久五月| 黄页视频在线91| 成人激情免费视频| 欧美性高清videossexo| 欧美肥胖老妇做爰| 日韩女优毛片在线| 日本一区二区三区久久久久久久久不 | 亚洲老妇xxxxxx| 一区二区三区精品视频| 午夜婷婷国产麻豆精品| 美女久久久精品| 成人丝袜高跟foot| 欧美亚一区二区| 欧美大度的电影原声| 日本一区二区三区电影| 一区二区三区四区在线播放| 日本在线播放一区二区三区| 国产一区 二区 三区一级| 99精品国产一区二区三区不卡| 在线观看日韩国产| 欧美一级视频精品观看| 国产欧美一区二区精品仙草咪 | 日韩av中文在线观看| 国产一区二区在线观看免费| 99在线精品一区二区三区| 欧美日韩一区二区在线观看视频| 亚洲精品一线二线三线无人区| 国产精品美女久久久久aⅴ | 国产麻豆成人传媒免费观看| 色综合视频一区二区三区高清| 欧美视频完全免费看| 精品播放一区二区| 亚洲精品成a人| 精品一区二区三区在线观看| 色综合天天做天天爱| 欧美一区中文字幕| 日韩理论片中文av| 精品一区二区三区在线观看 | 欧美电影在线免费观看| 欧美国产激情一区二区三区蜜月| 亚洲动漫第一页| 成人性生交大片免费看视频在线 | 国产精品高潮呻吟久久| 日韩福利电影在线| 不卡的电视剧免费网站有什么| 日韩欧美电影在线| 亚洲综合色噜噜狠狠| 国产乱码字幕精品高清av| 欧美另类z0zxhd电影| 日韩毛片精品高清免费| 国产一区二区在线看| 欧美一区二区三区四区久久| 亚洲视频 欧洲视频| 国产成人免费网站| 日韩精品中文字幕一区| 亚洲成人www| 99re亚洲国产精品| 久久精品视频一区二区三区| 免费亚洲电影在线| 欧美日韩黄色一区二区| 亚洲免费视频中文字幕| 国产一区二区三区在线观看免费 | 6080午夜不卡| 一区二区三区四区在线播放 | 亚洲一区视频在线观看视频| 成人精品高清在线| 久久男人中文字幕资源站| 青娱乐精品在线视频| 在线视频你懂得一区| 亚洲免费观看视频| 成a人片亚洲日本久久| 国产欧美va欧美不卡在线| 激情综合色播激情啊| 欧美电影免费观看完整版| 日韩vs国产vs欧美| 91精品国产综合久久福利| 亚洲成人在线网站| 欧美日韩国产成人在线免费| 亚洲一卡二卡三卡四卡无卡久久| 色88888久久久久久影院野外| 亚洲女人的天堂| 色网站国产精品| 亚洲综合成人在线视频| 欧美日韩一区三区| 日韩国产欧美在线视频| 日韩一区二区视频| 麻豆91在线观看| 久久综合久久综合久久综合| 国产一区二区0| 国产亚洲欧洲一区高清在线观看| 国产成人免费网站| 国产精品久久久久久久久动漫 | 成人av电影在线网| 中文字幕亚洲成人| 色综合中文字幕国产 | 欧美巨大另类极品videosbest | 精品久久久久久亚洲综合网| 精品制服美女丁香| 国产无人区一区二区三区| 国产成a人亚洲精品| 国产精品久久三| 日本精品一区二区三区高清| 亚洲地区一二三色| 在线不卡中文字幕播放| 久久爱www久久做| 国产欧美日韩另类一区| 色欧美片视频在线观看在线视频| 亚洲一区中文在线| 欧美成人vr18sexvr| 国产成人丝袜美腿| 亚洲一区二区三区视频在线| 欧美一区二区大片| 国产成人午夜精品5599| 亚洲精品一二三| 欧美日韩和欧美的一区二区| 日韩av电影天堂| 国产精品入口麻豆原神| 欧美在线一区二区| 国产精品一区二区久激情瑜伽| 亚洲视频电影在线| 日韩一区二区免费电影| 国产成人午夜精品5599 | 国产美女在线精品| 亚洲国产综合视频在线观看| 欧美电影精品一区二区| av电影在线观看一区| 五月天亚洲精品| 久久老女人爱爱| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 国产精品国产三级国产aⅴ原创| 欧美午夜精品久久久| 国产精品综合视频| 香港成人在线视频| 亚洲国产高清在线| 日韩一卡二卡三卡四卡| 91香蕉视频mp4| 国产尤物一区二区| 香蕉av福利精品导航| 中文字幕视频一区| 2019国产精品| 欧美另类videos死尸| 99精品视频免费在线观看| 久久av老司机精品网站导航| 亚洲乱码国产乱码精品精可以看 | 9l国产精品久久久久麻豆| 久久国产综合精品|