線程間如何進行消息傳遞
線程間如何進行消息傳遞
1) 定義消息ID
#define WM_USER_MSG WM_USER+102
2) 創建線程
m_hThread = CreateThread(NULL, 0, Thread, 0, 0, &m_dwID);
3) 線程函數中使用GetMessage
DWORD WINAPI Thread(LPVOID lpParameter)
{
while (1)
{
MSG msg;
GetMessage(&msg,0,0,0);
switch(msg.message)
{
case WM_USER_MSG:
TRACE("接收到消息\n");
break;
default:
break;
}
}
}
4) 發送消息
PostThreadMessage(m_dwID, WM_USER_MSG, 0, 0);
1) 定義消息ID
#define WM_USER_MSG WM_USER+102
2) 創建線程
m_hThread = CreateThread(NULL, 0, Thread, 0, 0, &m_dwID);
3) 線程函數中使用GetMessage
DWORD WINAPI Thread(LPVOID lpParameter)
{
while (1)
{
MSG msg;
GetMessage(&msg,0,0,0);
switch(msg.message)
{
case WM_USER_MSG:
TRACE("接收到消息\n");
break;
default:
break;
}
}
}
4) 發送消息
PostThreadMessage(m_dwID, WM_USER_MSG, 0, 0);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.