自己创建的一个线程发出消息到主执行线程,主执行线程中收不到消息,而在主执行线程中发出的消息却能够收到,真是搞不懂,我用了PostMessage,SendMessage, PostThreadMesage都不行。不好意思分数不多
解决方案 »
- 我想在vc中当选择菜单项时,弹出一个类似对话框的控件(该控件只要能单独设计然后加到程序中就可以),然后把它放到CFormView类中显示出来,请问用什么控件比较
- 切换视图是怎样更新控件
- 请教:怎样在用vc写的应用软件中实现多国语言的切换?
- 将窗口设为TOPMOST的问题
- 如何在工程A和工程B之间通过共享内存来共享数据,看到很多例子,都是在一个工程内(急).
- 如何在edit中光标处添加内容??
- 关于编译时的dll问题
- 工业控制中的远程通信相关,为何自己会忽然停止? 200 分
- BOOL SetSockOpt( ....)这个函数怎么用?
- 干掉最大化按钮!
- 请问,我在Socket工作线程中访问数据库类的时候线程为什么会丢失?
- 图片居中显示
2.主线程是否有消息循环?
1、theApp.m_pMainWnd->PostMessage(ID_MESSAGE, 100, 200);
2、::PostMessage(theApp.m_pMainWnd->m_hWnd, ID_MESSAGE, 100, 200);
3、PostThreadMessage(theApp.m_nThreadID,ID_MESSAGE, 100, 200);
4、 LPDWORD proc = 0;
DWORD hThread = GetWindowThreadProcessId(d,proc);
DWORD x = (DWORD)theApp.m_hThread;
PostThreadMessage(hThread ,ID_MESSAGE, 100, 200);
实际上hThread与theApp.m_nThreadID是一样的
消息的发送肯定没问题;就是为什么消息很少能收到,即使收到也只是一两次。而另一种状态下,100%能收到!
谢谢