关闭

MFC 消息机制问题

381人阅读 评论(0) 收藏 举报
分类:

在使用PostMessage的时候值得注意的是:
谁调用自己的函数那么就是给自己发送消息,因为类中的此成员函数,把本类中的线程ID设置为默认为自己的线程ID了。

m_wndProbeThread.PostThreadMessage(WM_PROBE_THREADEND,(WPARAM)m_wndHandleThread.m_hThread, (LPARAM)&m_wndHandleThread);

PostMessage的函数的参数WPARAM和LPARAM很重要,可以把一些重要的参数传送给信息接受线程。

void CWndProbeThread::OnManageProbeMsg(WPARAM wParam, LPARAMlParam)
{
 CWndHandleThread* pHandle = (CWndHandleThread*)wParam;
 CWndHandleThread * pHandleThread =(CWndHandleThread *)lParam;
 pHandleThread->PostThreadMessage(WM_HANDLE_THREADEND,0 , 0);
 CString str;
 ::Sleep(2000);
 str.Format(_T("The WPARAM ofProbeThread  is :%x\r\n"),wParam);
 ::OutputDebugString(str);
}

但是值得注意的是,在接受之后要进行类型转换之后才能使用!!!

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:979180次
    • 积分:17629
    • 等级:
    • 排名:第540名
    • 原创:741篇
    • 转载:522篇
    • 译文:0篇
    • 评论:105条
    最新评论