当前我在主进程创建了自定义消息,但是效果不佳,无法在线程中调用。求破
11 个解决方案
#1
线程中PostThreadMessage()给主线程
#2
主线程中有UI窗口没有?有的话PostMessage/SendMessage(),
没有的话可以PostThreadMessage,或者使用SetEvent()之类的通知主线程,主线程中有WaitFor类似的操作~
没有的话可以PostThreadMessage,或者使用SetEvent()之类的通知主线程,主线程中有WaitFor类似的操作~
#3
错误 4 error C2065: “WM_MYMESSAGE”: 未声明的标识符
在主进程中我有声明一个WM_MYMESSAGE自定义消息标识符,但是在线程中我没有办法调用该消息标识符
我重新建了一个类,这个类中的调用函数都是线程中使用的,创建线程是在主进程中,但是直接调用的线程函数,和需要调用的线程函数我都丢到了这个新建的类中。谢谢
#4
您说的主线程就是进程吧?如果是的话是有UI的,我新创建的只是工作线程,目的是获取一串下位机传上来的数据。但是我调用的线程函数是在新建的一个类中
#5
我现在是一个线程运行完成之后需要将这个完成消息发送给进程,然后进程接收到该线程完成就好,当然因为进程是UI线程,不能让他长时间等待,需要可以让用户操作
#6
你把WM_MYMESSAGE放到一个公共文件
#7
在新建的类中,从新定义一遍 defile WM_MYMESSAGE
#8
m_midiDecode.handle = GetCurrentProcessId();
PostThreadMessage(handle,WM_MYMESSAGE,0,0);我用您的方法发送WM_MYMESSAGE之后,消息函数没有被调用到,就是我发送了这个消息,但是没有触发函数
#9
我可以确定handle就是当前运行进程的PID号,然后我在线程中这样调用了PostThreadMeassage,不会报错,但是我这样写的函数ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)中的OnMyMessage函数未被调用,求解怎么处理?
#10
可以搜索线程间的通信
#11
呵呵,解决方法只要getsafehwd就好了,大神估计太简单了无视了,不过还是谢谢。
#1
线程中PostThreadMessage()给主线程
#2
主线程中有UI窗口没有?有的话PostMessage/SendMessage(),
没有的话可以PostThreadMessage,或者使用SetEvent()之类的通知主线程,主线程中有WaitFor类似的操作~
没有的话可以PostThreadMessage,或者使用SetEvent()之类的通知主线程,主线程中有WaitFor类似的操作~
#3
错误 4 error C2065: “WM_MYMESSAGE”: 未声明的标识符
在主进程中我有声明一个WM_MYMESSAGE自定义消息标识符,但是在线程中我没有办法调用该消息标识符
我重新建了一个类,这个类中的调用函数都是线程中使用的,创建线程是在主进程中,但是直接调用的线程函数,和需要调用的线程函数我都丢到了这个新建的类中。谢谢
#4
#5
我现在是一个线程运行完成之后需要将这个完成消息发送给进程,然后进程接收到该线程完成就好,当然因为进程是UI线程,不能让他长时间等待,需要可以让用户操作
#6
错误 4 error C2065: “WM_MYMESSAGE”: 未声明的标识符
在主进程中我有声明一个WM_MYMESSAGE自定义消息标识符,但是在线程中我没有办法调用该消息标识符
我重新建了一个类,这个类中的调用函数都是线程中使用的,创建线程是在主进程中,但是直接调用的线程函数,和需要调用的线程函数我都丢到了这个新建的类中。谢谢
你把WM_MYMESSAGE放到一个公共文件
#7
在新建的类中,从新定义一遍 defile WM_MYMESSAGE
#8
m_midiDecode.handle = GetCurrentProcessId();
PostThreadMessage(handle,WM_MYMESSAGE,0,0);我用您的方法发送WM_MYMESSAGE之后,消息函数没有被调用到,就是我发送了这个消息,但是没有触发函数
#9
我可以确定handle就是当前运行进程的PID号,然后我在线程中这样调用了PostThreadMeassage,不会报错,但是我这样写的函数ON_MESSAGE(WM_MYMESSAGE,OnMyMessage)中的OnMyMessage函数未被调用,求解怎么处理?
#10
可以搜索线程间的通信
#11
呵呵,解决方法只要getsafehwd就好了,大神估计太简单了无视了,不过还是谢谢。