⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d253.bmp.txt

📁 Visual C++通信编程工程实例精解(附盘)
💻 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 + -