【100分】工作线程如何发消息给控制台主线程接收?
#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;}