![]() |
子线程如果发送消息给该进程里的某一个窗口消息?
就是创建一个线程连接socket ...当socket收到某种消息时,通知这个窗口。
但窗口不是一直在的,比如按button,出现一个临时窗口,窗口调用socket发送消息给server,然后等待server的回应。socket得到消息后,通知窗口。然后把窗口销毁。 请大大们给点代码。 |
回复: 子线程如果发送消息给该进程里的某一个窗口消息?
创建子线程时,将当前窗口的HWND传入线程,然后调用PostMessage或SendMessage
|
回复: 子线程如果发送消息给该进程里的某一个窗口消息?
不建议使用 SendMessage,使用PostMessage是最佳方法,在A Thread 用SendMessge给B Thread的窗口发送窗口消息 ,很容产生一个SendMessage和同步对象的死锁现象,我受它的害不浅,切忌
|
回复: 子线程如果发送消息给该进程里的某一个窗口消息?
SendMessage是阻塞调用的,当心挂在里面出不来,
可以用SendMessageTimerOut啊,或者PostThreadMessage之类 |
回复: 子线程如果发送消息给该进程里的某一个窗口消息?
你在需要接受消息的主进程中自定义一个消息,将消息的WPARAM指定为窗体句柄,LPARAM指定为具体的WM_窗体消息。
当子线程需要发送消息时,使用PostThreadMessage,将相关的WPARAM与LPARAM消息内容一起发过出,主进程收到消息后,找到合适的窗体,使用SendMessageTimeOut方法发送指定的窗体消息。 |
所有的时间均为北京时间。 现在的时间是 01:19 AM. |