关于进程间SendMessage的问题 我在一个应用程序A中CreateProcess创建进程B,然后A使用SendMessage函数发送消息给B,通知他去某个地方取数据,然后由B进行数据的处理。问题是:为什么有时候SendMessage成功,有时候不成功。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SendMessage有返回值,返回值是处理消息的返回值,你可以检查返回值看是否真的调用。 在SendMessage返回失败时,用GetLastError()针对具体情况进行再判断 进程B没创建好窗口吧用WaitForInputIdle 你自己创建一个消息吧!做一下消息映射!在用SendMessage。。 在SendMessage返回失败时,用GetLastError()针对具体情况进行再判断 问一下,每次SendMessage函数都能执行下去,是不是说明它发送的消息被处理了? 我和楼上的不一样,重复没意思,我给你不一样的,那就是为什么有时SendMessage不成功,如下:一般Windows书籍上都是这样说的:SendMessage是不放进消息队列的(PostMessage将消息放进消息队列后立即返回),而是直接传给窗口,并调用窗口的过程函数进行处理。在窗口过程函数对消息处理完毕,该函数才返回。其实SendMessage传送的消息是进消息队列的,只不过每次进去都是放在队列的顶部,感觉就像是直接传给窗口一样。(我是从这里看到的:http://www.tinystrong.com/tag/sendmessage),所以啊,有时队列溢出还是会导致SendMesage不成功的啊,还有它可能延迟了其它消息的响应,因为它优先响应啊,而这些消息的响应可能和操作系统有关,导致出错,也有可能SendMessage不成功。 SendMessage 在本进程内是不进消息对列的,跨进程是会进消息队列的 对话框 ID 找不到了,怎么回事 ? 关于tooltip的问题 请问:VC++中如何获取文件夹路径? 怎样隐藏win2K的桌面以及开始和任务栏 怎么显示非模式对话框? 高手帮忙,有一个问题词!!! IEproxyInst是什么软件,怎么用 如何在客户端和服务端之间传递BSTR值,多谢! 学生没有项目做怎么学习VC呢 2006年左右的老人们,可还有在这论坛的。 自绘标题栏在windows 7下面显示不出来 每天开机后Ping服务器第一个数据包总是丢失
用WaitForInputIdle
其实SendMessage传送的消息是进消息队列的,只不过每次进去都是放在队列的顶部,感觉就像是直接传给窗口一样。(我是从这里看到的:http://www.tinystrong.com/tag/sendmessage),所以啊,有时队列溢出还是会导致SendMesage不成功的啊,还有它可能延迟了其它消息的响应,因为它优先响应啊,而这些消息的响应可能和操作系统有关,导致出错,也有可能SendMessage不成功。