?? d253.bmp.txt
字號:
static UINT SmsThread(LPVOID lpParam); //短消息收發處理子線程
);
編輯CSmsTraffic類的構造函數和析構函數,用于實現進程、消息隊列的打開和關閉。
CSmsTraffic::CSmsTraffic0
{
m_nSendln = 0;
m_nSendOut = 0;
m_nRecvln = 0;
m_nRecvOut = 0;
m_hKillThreadEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
m_hThreadKilledEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
InitializeCriticaISection(&m_csSend) ;
InitializeCriticalSection(&m_c sRecv);
AfxBeginThread(SmsThread, this, THREAD_PRIORITY_NORMAL);
CSmsTraffic::~CSmsTraffic0
{
SetEvent(m_hKiIIThreadEvent);
WaitForSingleObj ect(m_hThreadKilledEvent, INFINITE) ;
DeleteCriticalSection(&m_csS end);
DeleteCriticalSection(&m_csRecv) ;
CloseHandle(m_hKillThreadEvent);
CloseHandle(m_hThreadKilledEvent);
}
瀑加短消息與收發隊列相關操作的函數。具體代碼如下:
/,發出關閉子線程的信號
,/等待子線程關閉
//將一條短消息放入發送隊列
void CSmsTraffic::PutSendMessage(SM_PARAM* pparam)
{
EnterCriticaISection(&m_csSend);
memcpy(&m_SmSendlm_nSendln], pparam, sizeof(SM_PARAM》;
m_nSendln++;
if (m_nSendln>=MAX_SM_SEND)
m_nSendln=0:
LeaveCriticalSection(&m_csSend);
)
,/從發送隊列中取一條短消息
BOOL CSmsTraffic::GetSendMessage(SM_PARAM* pparam)
{
BOOL fSuccess= FALSE;
EnterCnticalSection(&m_csSend);
253
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -