我想不用MFC的库函数,要怎么进行主线程和工作线程之间的通信. 我现在不想用全局变量.但是消息机制好象都在MFC底下定义的.那如果想不用MFC的东西,我要怎么进行主线程和工作线程之间的通信?因为我想把最终做的结果搬到BORLAND C中. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以用PostThreadMessage,工作线程也可以有消息循环,不过你要自己处理消息如果只是同步可以用Event borland c++也可以用mfcDWORD WINAPI WorkerThread(LPVOID lp){ MSG msg; PeekMessaage(&msg, 0, 0, 0, PM_NOREMOVE); // force to create message queue while (GetMessage(&msg...)) { // WM_QUIT 消息退出 switch(msg.message) { case WM_USER+1: EvnUser1(); break; .... //消息处理 case WM_USER+2: EvnUser2(); break; .... // default: DefWindowProc(...); } } return msg.wparam;}或者自己写一个队列,工作线程阻塞在该队列上,一有任务就取出来工作。如果用windows的消息队列消耗资源多一些。 《com 原理与应用》第四章·进程外组件例子程序 为什么我总是必须事先手动运行 Dictionary.exe 才能成功? 初学VC,让我疑问的问题 OnCreate(LPCREATESTRUCT lpCreateStruct) 中部分代码不运行 散分,提前祝各位新年快乐! VC使用一问--20天目睹之怪现状~~ 编译时出现这样的错误,请问是什么原因,怎么解决? 怎么屏蔽Ctrl+Esc? 拜托!赐教!! 我想让程序延迟几秒钟,怎么办呀? 关于读取并口数据的问题 VC中怎么制作管理系统界面,用多文档还是用对话框。 伤心事,被人脚踏两只船,我就是那两只船中的一只船
如果只是同步可以用Event
{
MSG msg; PeekMessaage(&msg, 0, 0, 0, PM_NOREMOVE); // force to create message queue while (GetMessage(&msg...)) { // WM_QUIT 消息退出
switch(msg.message) {
case WM_USER+1: EvnUser1(); break; .... //消息处理
case WM_USER+2: EvnUser2(); break; .... //
default:
DefWindowProc(...);
}
}
return msg.wparam;
}
或者自己写一个队列,工作线程阻塞在该队列上,一有任务就取出来工作。如果用windows的消息队列消耗资源多一些。