如何样通过WIN32API来创建一个线程的消息队列啊
怎么样通过WIN32API来创建一个线程的消息队列啊?
怎么样通过WIN32API来创建一个线程的消息队列啊?谢谢!
------解决方案--------------------
这问题本身就有问题,什么叫“创建一个线程的消息队列”?每个线程再创建初始就有自己的消息队列,只是系统提供的功能。
------解决方案--------------------
不明白?
但是你可以看看《深入浅出MFC》里面有很详细的介绍你这方面的知识~
------解决方案--------------------
调用任何与消息相关的API会自动初始化线程消息队列相关的数据结构
//初始化线程消息队列
PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
while(GetMessage(&msg, NULL, 0, 0))
{
...
}
------解决方案--------------------
------解决方案--------------------
怎么样通过WIN32API来创建一个线程的消息队列啊?谢谢!
------解决方案--------------------
这问题本身就有问题,什么叫“创建一个线程的消息队列”?每个线程再创建初始就有自己的消息队列,只是系统提供的功能。
------解决方案--------------------
不明白?
但是你可以看看《深入浅出MFC》里面有很详细的介绍你这方面的知识~
------解决方案--------------------
调用任何与消息相关的API会自动初始化线程消息队列相关的数据结构
//初始化线程消息队列
PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE);
while(GetMessage(&msg, NULL, 0, 0))
{
...
}
------解决方案--------------------
------解决方案--------------------
- C/C++ code
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; TCHAR szHello[MAX_LOADSTRING]; LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING); switch (message) { case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_EXIT: DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0; }
------解决方案--------------------
调用一下PeekMessage就可以。
------解决方案--------------------
一般不需要我们干涉的,可以手动调用一些函数,不过,效果可能不好
------解决方案--------------------
满天星 老大厉害,,
都已经是钻石级别,,应该散分哈。。
膜拜一下。。。
------解决方案--------------------
------解决方案--------------------
你还想知道什么