码迷,mamicode.com
首页 > 其他好文 > 详细

SendMessage 和 SendMessageTimeout 可能存在异常(除超时)

时间:2016-02-22 11:38:31      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:

SendMessage 和 SendMessageTimeout 除了超时外可能存在异常,前段时间与第三方合作时,发现其用 SendMessageTimeout  发送的信息在我的程序中,PreTranslateMessage 无法收到。以前偶写过如下链接的文章,发现与现在的可能存在不一致。当然,以前未试过 SendMessageTimeout。
 SendMessage() 发出的消息 PreTranslateMessage() 不一定能接收到!

在 XX 项目时,与 YY 管理程序配合,YY 管理程序是一个单独的 EXE 文件。
由一个 MFC 程序在窗体初始化时使用函数 CreateProcess() 来运行 YY 管理程序。
YY 管理程序发送消息的方式是调用函数:SendMessageTimeout()。
此 MFC 程序负责接收无线管理程序返回的消息。发现 YY 管理程序发送的消息无法在 PreTranslateMessage() 中被接收到。
在窗体的消息映射机制中,可以接收到其发送的消息。
按以前的理解,只要不是发送到本窗体的消息,PreTranslateMessage() 都应该可以处理到。
显然 YY 管理程序与此 MFC 程序是不同两个进程,在 MFC 程序的 PreTranslateMessage() 应该可以接收到 YY 管理程序发送的消息。
但以上事实说明不是这样的!

SendMessage 和 SendMessageTimeout 可能存在异常(除超时)

标签:

原文地址:http://www.cnblogs.com/91program/p/5206439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!