几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   vc编程 (http://www.dimcax.com/hust/forumdisplay.php?f=76)
-   -   子线程如果发送消息给该进程里的某一个窗口消息? (http://www.dimcax.com/hust/showthread.php?t=1780)

huangyhg 2008-03-10 01:56 PM

子线程如果发送消息给该进程里的某一个窗口消息?
 
就是创建一个线程连接socket ...当socket收到某种消息时,通知这个窗口。
但窗口不是一直在的,比如按button,出现一个临时窗口,窗口调用socket发送消息给server,然后等待server的回应。socket得到消息后,通知窗口。然后把窗口销毁。

请大大们给点代码。

huangyhg 2008-03-10 01:57 PM

回复: 子线程如果发送消息给该进程里的某一个窗口消息?
 
创建子线程时,将当前窗口的HWND传入线程,然后调用PostMessage或SendMessage

huangyhg 2008-03-10 01:58 PM

回复: 子线程如果发送消息给该进程里的某一个窗口消息?
 
不建议使用 SendMessage,使用PostMessage是最佳方法,在A Thread 用SendMessge给B Thread的窗口发送窗口消息 ,很容产生一个SendMessage和同步对象的死锁现象,我受它的害不浅,切忌

huangyhg 2008-03-10 01:58 PM

回复: 子线程如果发送消息给该进程里的某一个窗口消息?
 
SendMessage是阻塞调用的,当心挂在里面出不来,
可以用SendMessageTimerOut啊,或者PostThreadMessage之类

huangyhg 2008-03-10 01:59 PM

回复: 子线程如果发送消息给该进程里的某一个窗口消息?
 
你在需要接受消息的主进程中自定义一个消息,将消息的WPARAM指定为窗体句柄,LPARAM指定为具体的WM_窗体消息。
当子线程需要发送消息时,使用PostThreadMessage,将相关的WPARAM与LPARAM消息内容一起发过出,主进程收到消息后,找到合适的窗体,使用SendMessageTimeOut方法发送指定的窗体消息。


所有的时间均为北京时间。 现在的时间是 01:19 AM.