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

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 管理程序发送的消息。
但以上事实说明不是这样的!

时间: 2024-11-05 20:26:32

SendMessage 和 SendMessageTimeout 可能存在异常(除超时)的相关文章

阿里云ECS上APP访问异常或超时

App访问ECS连接超时或访问慢: 具体情况描述: 1.Android.iOS两个版本的App,Android访问部署阿里云ECS上的API经常出现超时和访问慢的情况 2.访问阿里云ECS上的Android API超时问题和访问慢的情况,主要出现在通过公司WiFi网络访问时出现: 3. 在别的地方或者APP用户通过WiFi访问阿里云ECS上的Android API时,访问正常: 4.当Android访问API超时和访问慢的时候,马上关闭Wifi切换到手机数据网络,访问正常; 原因: 导致请求阿里

windows消息发送与接收

Windows开发中一个重要的概念就是消息.能搞清楚消息的传递和处理,相信可以使我们对Windows程序有更深的理解. 先把消息划分为3类:发送消息(Incomingsent message).投递消息(Post message).输入消息(Input message).其中发送消息是非队列消息,而后两种是队列消息.在线程的消息队列中并不包括非队列消息,而只有队列消息才会在线程的消息队列中. 由上面的分类也可以知道为什么不能通过PostMessage函数来模拟输入动作.因为投递消息将进入到投递消

转-封装网络请求库,统一处理通用异常 (基于volley网络请求库)

http://blog.csdn.net/kroclin/article/details/40540761 一.前言 volley的发布让网络请求也变得十分便利,但是我们通常懒得很想用一两句代码实现一个网络请求,其实你再经过封装就可以做到的.还有就是实际开发当中,我们会常常遇到很多异常情况,如网络异常.超时异常等等,那么我们如果有10个activity需要请求数据,那么在10个activity当中都去处理这些异常就变得十分麻烦,通过合理的设计其实我们能够在一个地方对异常情况进行统一处理,只有正确

Dubbo超时和重连机制

摘要: dubbo启动时默认有重试机制和超时机制. 超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败, 重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常. dubbo启动时默认有重试机制和超时机制.超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败,重试机制在出现调用失败时,会再次调用.如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常. 如果出现超时,通常是业务处理太慢,可在服

ASP.NET- 执行SQL超时的解决方案

在我们编写程序的时候,有时候要进行复杂的查询时,就会出现执行sql时间过长,引起页面执行不了并提示执行脚本超时,这就是我们遇到超时异常. 超时异常分两种情况:一种,是连接超时:一种,是执行超时.前者,通过SqlConnection.ConnectionTimeOut进行设置.后者,通过SqlCommand.CommandTimeOut进行设置. SqlConnection.ConnectionTimeout获取在尝试建立连接时终止尝试并生成错误之前所等待的时间.等待连接打开的时间(以秒为单位).

dubbo超时重试和异常处理

参考: https://www.cnblogs.com/ASPNET2008/p/7292472.html https://www.tuicool.com/articles/YfA3Ub https://www.cnblogs.com/binyue/p/5380322.html https://blog.csdn.net/mj158518/article/details/51228649 本篇主要记录dubbo中关于超时的常见问题,实现原理,解决的问题以及如何在服务降级中体现作用等. 超时问题

[android] android消息机制入门

上一节,先把访问网络的部分放到一个子线程里面去执行,new Thread(){}.start(),new Thread直接使用匿名内部类来实现,重写run()方法,内部类访问外部的变量,这个变量应该定义成final的. 直接运行会报错,Only the original thread that created can touch xxxxx,只有主线程才可以访问View对象,是因为线程的同步与互斥 内部实现更新界面的时候做了一个检查,检查这个更新的操作是否是在Ui线程里面执行的,如果是没有任何问

C#编写简单的聊天程序(转)

这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考.文章大体分为四个部分:程序的分析与设计.C#网络编程基础(篇外篇).聊天程序的实现模式.程序实现. 程序的分析与设计 1.明确程序功能 如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天程序”.那么接下来该怎么做呢?你是不是在脑子里有个雏形,然后就直接打开VS2005开始设计窗体,编写代码了呢?在开始之前,我们首先需要

关于dubbo的服务降级

一.dubbo降级服务     dubbo开发中,可能由于服务没有启动或者网络不通,调用中会出现RpcException,也就是远程调用失败.如果是服务启动顺序的问题,可能加工check="false"的配置可以得到很好的解决.但是,如果是服务宕掉或者并发数太高导致的RpcException该如何处理? 经过过12306抢票的人应该经常会遇到这个问题:在抢票高峰的时候,明明票还有,但是查询出来的列表却是为空的(如果没票列表也应该会呈现):等高峰过后再查询,列表又恢复正常.个人猜测应该是