首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

使用PostThreadMessage在进程间传递消息的疑惑,该如何处理

2012-02-03 
使用PostThreadMessage在进程间传递消息的疑惑在《multithreadingapplicationsinWin32》这本书中看到,可以使

使用PostThreadMessage在进程间传递消息的疑惑
在《multithreading   applications   in   Win32》这本书中看到,可以使用PostThreadMessage函数把消息发给另一个进程,但是我在wince环境的实际使用过程中却发现没有效果。
代码如下:
//进程base.exe创建进程son.exe
PROCESS_INFORMATION   pi;
CreateProcess(_T( "son.exe "),   NULL,   NULL,   NULL,  
        FALSE,   0,   NULL,   NULL,   NULL,   &pi);
//做些其它事
……
//希望使用PostThreadMessage关闭进程son.exe
//但是son.exe并没有关闭
//然而如果使用WM_QUIT消息是可以关闭son.exe的
PostThreadMessage(pi.dwThreadId,   WM_DESTROY,   0,   0);

问题就是使用WM_DESTROY或WM_CLOSE为什么不能关闭son.exe?
另外使用PostMessage函数可以关闭son.exe
代码如下:
//son为son.exe的标题
HWND   hWnd   =   FindWindow(0,   _T( "son "));
PostMessage(hWnd,   WM_DESTROY,   0,   0);

希望哪位高手可以帮我解答。

[解决办法]
WM_DESTROY或WM_CLOSE消息应该是发给窗口的,但是PostThreadMessage函数不能给窗口发消息,应该用PostMessage函数。

热点排行