对消息的处理中我们经常需要将WPARAM或LPARAM等32位数据(DWORD)分解成两个16位数据(WORD),例如:

LPARAM lParam;
WORD loValue = LOWORD(lParam);///取低16位
WORD hiValue = HIWORD(lParam);///取高16位

  对于16位的数据(WORD)我们可以用同样的方法分解成高低两个8位数据(BYTE),例如:

WORD wValue;
BYTE loValue = LOBYTE(wValue);///取低8位

BYTE hiValue = HIBYTE(wValue);///取高8位

定义代码如下:

#define LOWORD(l)           ((WORD)(((DWORD_PTR)(l)) & 0xffff))
#define HIWORD(l)           ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
#define LOBYTE(w)           ((BYTE)(((DWORD_PTR)(w)) & 0xff))
#define HIBYTE(w)           ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))

学习LOWORD、 HIWORD、LOBYTE、HIBYTE相关推荐

  1. 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解

    原文版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/huang_xw/article/d ...

  2. LOWORD, HIWORD, LOBYTE, HIBYTE宏解析

    在对一个进程的通信部分做分析时反复遇到了这四类函数,特做此记录. LOWORD:取32位数的低16位 HIWORD:取32位数的高16位 LOBYTE:取16位数的低8位 HIBYTE:去16位数的高 ...

  3. LOWORD, HIWORD, LOBYTE, HIBYTE

    实际上就是宏函数,作用是取对应数据高/低位的 #define LOWORD(l) ((WORD)(((DWORD_PTR)(l)) & 0xffff)) #define HIWORD(l) ( ...

  4. C++: byte和int的相互转化和LOBYTE+HIBYTE的应用

    byte不是一种新类型,在C++中byte被定义的是unsigned char类型:但在C#里面byte被定义的是unsigned int类型 //int转byte void  intToByte(i ...

  5. ZigBee——使用CC2530的定时器生成指定的PWM波

    由于在使用zigbee网络时往往有对电机.灯具等执行器进行控制的需要,而出于成本和简化系统的需求,我们又往往希望在CC2530上实现相关的控制及ZigBee的组网工作,使用CC2530芯片实现PWM输 ...

  6. 1.4 消息循环和回调函数

    ************************************************** * 本文由小鸟飞飞整理发表 <samboy@sohu.com> * * 首发网站:蓝丽 ...

  7. 基于RTP协议的数据通讯程序

    最近调试jrtplib的示例程序example1,屡调不通, 在一筹莫展之际,突然想起,会不会是ip地址从字符串向长整形转化的时候存在问题 呢.给destip强制写入一个 7f000001 (就是本机 ...

  8. 多线程实现 qq 群聊的服务端和客户端

    效果比较简陋,但是功能可以实现 效果: 服务器 #include <iostream> #include <winsock2.h>//必须写在windows.h前面 #incl ...

  9. TI Zigbee Light Link 参考设计

    TI  Zigbee Light Link 参考设计 原文出处: http://processors.wiki.ti.com/index.php/Category:ZigBee_Light_Link ...

最新文章

  1. 1.5 Activity08 RadioButton
  2. 2021-03-09 Local Lipschitz 可能存在 有限时间逃逸
  3. java 手机声音提醒功能_java – 同时播放声音Android
  4. dede织梦5.7,后台采集数据导入,空文章过滤.
  5. java连接mysql执行ddl_dljd_(007_009)_jdbc执行DQL/DML/DDL语句
  6. 人群频率 | gnomAD数据库简介 (一)
  7. git tag和分支的区别_GIT常用命令大全
  8. 华为mate9云闪付功能_华为手机日常使用技巧
  9. Python分析pdf简历
  10. python中的字符串文本必须用什么括起来_Python标准库---18、文本处理服务:string 常见的字符串操作...
  11. js实现本地上传图片及预览
  12. linux操作系统结构体系,Linux操作系统结构分析 郭玉东.pdf
  13. ggplot2绘制地图
  14. 2022 火狐插件 Tamper Data 下载安装使用教程
  15. php getimagesize 导致系统变慢
  16. 手机端 19FPS 的实时目标检测算法:YOLObile
  17. markdown排版常用
  18. 计算机用word做海报,如何用Word文档做出一张简单的海报!
  19. Combining satellite imagery and machine learning to predict poverty
  20. Vue路由的动态添加和缓存

热门文章

  1. MySQL高可用群集------配置MMM高可用架构
  2. python版mapreduce题目实现寻找共同好友
  3. 现代软件工程 第一章 概论 第9题——邓琨
  4. IBATIS错误汇总
  5. C# 4.0 新特性之并行运算(Parallel)
  6. 时代中坚:互联网电视迎来极致时代
  7. 2014北京三险一金缴存比例
  8. 使用Vsftpd服务传输文件
  9. K8S调度之pod亲和性
  10. ulimit调优|设置普通用户的ulimit值