这个函数虽然返回值类型是BOOL,但是还有可能返回-1 !

Return Value

BOOL

If the function retrieves a message other than WM_QUIT , the return value is nonzero.

If the function retrieves the WM_QUIT message, the return value is zero.

If there is an error, the return value is -1. For example, the function fails if hWnd is an invalid window handle or lpMsg is an invalid pointer. To get extended error information, call GetLastError .

Because the return value can be nonzero, zero, or -1, avoid code like this:

while (GetMessage( lpMsg, hWnd, 0, 0)) ...

The possibility of a -1 return value means that such code can lead to fatal application errors. Instead, use code like this:

BOOL bRet;

while( (bRet = GetMessage( &msg, hWnd, 0, 0 )) != 0)
{
if (bRet == -1)
{
// handle the error and possibly exit
}
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}

注意GetMessage()的返回值相关推荐

  1. AOP开发——在不修改源代码的前提下,对类里面的方法进行增强 : 前置 后置 环绕 异常||如何得到目标方法的参数和返回值

    AOP开发 @Transactionl 在不修改源代码的前提下,对类里面的方法进行增强 前置 后置 环绕 异常 创建项目前引入aop的包 <dependency>     <grou ...

  2. python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值

    在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...

  3. Spring Boot 2.x(六):优雅的统一返回值

    目录 为什么要统一返回值 ReturnVO ReturnCode 使用ReturnVO 使用AOP进行全局异常的处理 云撸猫 公众号 为什么要统一返回值 在我们做后端应用的时候,前后端分离的情况下,我 ...

  4. grpc php 返回值过大,使用grpc实现php、java、go三方互调

    grpc作为经典的rpc协议,虽然略重,但是是有学习的价值的 通过下面的内容可以快速上手这个grpc框架 安装命令行工具 php需要这个额外的protoc.grpc_php_plugin工具把这个pr ...

  5. 无返回值_只需一步,在Spring Boot中统一Restful API返回值格式与处理异常

    统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生. 比较通用的返回值格式如下: public cl ...

  6. return两个返回值_异步函数的两个视角

    我们来一起看一下两个程序员之间的故事. 以下示例代码是用Scala写的,不过本文所讲的话题并不仅限于Scala,任何有Future/Promise支持的语言都是适用的. 下面这个wiki页面罗列了各个 ...

  7. [转载] Java对返回值的封装

    参考链接: 用Java封装 定义自己所需要的返回值类型 public class CodeMsg implements Cloneable { private int retCode; private ...

  8. 使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体

    使用 @ControllerAdvice 和 实现ResponseBodyAdvice接口, 拦截Controller方法默认返回参数,统一处理返回值/响应体 1.Controller代码 以下是Co ...

  9. .net core json 为null输出_SpringBoot实战(九):标准化json返回值

    [前言] 前后端分离是现在系统开发主流模式,上篇博文<SpringBoot集成Swagger>介绍了利器Swagger;这篇接着定义返回Json格式的规范:无规矩,不成方圆:有了好的规范前 ...

最新文章

  1. Flask实例教程四
  2. 【设计模式】原型模式 ( 浅拷贝 | 深拷贝 | 原型与单例冲突 | 禁用 final )
  3. dotnet 将自动代码格式化机器人带入团队 GitLab 平台
  4. 3m格式的文件怎么转换成mp3_一招就能让PDF与其他格式文件相互转换,这样的大招你值得拥有...
  5. java 画笔跟swing组件_Java学习教程(基础)--Java版本历史(二)
  6. 打印更无缝:微软改善Win11中通用打印体验
  7. macOS卸载Java9及利用Homebrew搭建并配置Java开发环境
  8. JavaScript-常用正则函数(适合忘记时看)
  9. java在底层捕获异常_Java正确捕获异常的真实类
  10. 引用 java的一些基本概念
  11. oc基础-protocol协议的使用
  12. mysql基本常用命令_mysql 的基本操作以及常用命令
  13. adodb 连接oracle php,c# 利用ADODB连接ORACLE数据库
  14. 三种交换方式:电路交换、分组交换、报文交换
  15. Python常用音频库
  16. No20. i++/j++
  17. Navicat Premium的下载及安装
  18. 可信平台模块TPM(Trusted Platform Module)介绍及tpm-tools安装使用
  19. 什么是软件压力测试,靠谱的出压力测试报告的软件第三方测评机构推荐
  20. 文思海辉 墨尔本_团结墨尔本

热门文章

  1. 若你喜欢怪人,其实我很美
  2. label和velodyne数据通过mayavi在点云图上画3D标注框并可视化
  3. 距离感应器下的休眠唤醒机制实现
  4. 制造业要用什么项目管理软件?
  5. 刘长炯 beansoft(myeclipse_java) 一个不错的作者
  6. 苹果vs剪辑下载_秒简iPhone上的一款免费手机视频剪辑软件,支持导入视频或图片...
  7. putty 遂道_为什么将网络隧道称为“隧道”?
  8. DB2自定义数据库方言
  9. 11对战平台服务器怎么修改,11对战平台无法登陆的解决方法
  10. 沈南鹏对话郎平:我靠什么熬过两次至暗时刻-1