📄 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 + -