【100分】工作线程怎么发消息给控制台主线程接收
【100分】工作线程如何发消息给控制台主线程接收?
------解决方案--------------------
PostThreadMessage
------解决方案--------------------
发送消息啊,检测全局变量啊 什么的.
- C/C++ code
#include "stdio.h" #include "windows.h" HANDLE hThread; //工作线程句柄 MSG msg = {0}; //用于消息循环中接收消息 //处理工作的线程 DWORD WINAPI WorkThreadProc(LPVOID lpParameter ) { //下面处理工作 //。。。 printf("线程处理完工作了!\n"); //ok,这里工作处理完毕,要求自动退出控制台程序 //安全起见,发送消息让主线程接收再处理比较好,不在这里直接exit PostMessage(NULL,WM_CLOSE,0,0); //这里不知道能不能这样发送消息给主线程 return 1; } int main(int argc, char *argv[]) { hThread = CreateThread(NULL,0,WorkThreadProc,NULL,0,NULL); CloseHandle(hThread); //自行在消息循环中获取线程完成工作请求退出Console的消息 while (GetMessage(&msg, NULL, 0, 0)) { if(WM_CLOSE == msg.message) { printf("收到消息了!"); getchar(); return 0; } else { //这里对于其他消息 应该不需要处理吧,else可以不写的吧? } } getchar(); return 0; }
------解决方案--------------------
PostThreadMessage
------解决方案--------------------
发送消息啊,检测全局变量啊 什么的.