Array|解密:WPARAM和LPARAM中的W和L分别代表什么意思
Windows消息的两个参数
【Array|解密:WPARAM和LPARAM中的W和L分别代表什么意思】曾经有那么一段时间 , Windows还是一个16位的操作系统 。
每一个Windows消息会携带两个参数 , 它们分别被叫做WPARAM和LPARAM 。第一个参数是一个16位的数据(Word) , 所以它被称之为W 。
第二个参数是一个32位的数据(Long) , 所以它被称之为L 。
你可以使用W参数来传递诸如句柄和整数这一类的数据 , 对于指针数据来说 , 你可以使用L参数来传递它 。当Windows被转换为32位版本之后 , WPARAM也从原来的16位迁移到了32位 , 所以 , 虽然WPARAM中的W代表Word , 但是它已经不再是一个16位的数据了 。(甚至在64位操作系统中 , 这两个参数长度被进一步地扩展到了64位 。)
了解这其中的历史故事还是有点用的 。如果你仔细地观察一下Windows消息的设计 , 你会发现 , 如果消息中携带了某个指针信息 , 则这个指针通常会保存在消息的LPARAM参数中 , 如果携带的是一个句柄或者一个整数 , 则通常会使用WPARAM参数来保存 。
了解了这个原理 , 我们在记忆某个Windows消息的参数的时候就会显得容易一点 。相反的 , 如果一个消息的参数违反了上述的惯例 , 则你可能会想:不对劲 , 这里可能有点问题 。
总结
Windows的消息设计体现了通用性设计的精髓:如果你不能确定未来这个东西会是什么 , 那么 , 现在就不要清楚地定义它 。
文章图片
文章图片
推荐阅读
- 拼多多,小程序|手机浇水施肥,水果邮到家,解密“水果农场”背后的商业模式
- 互联网|最全解密微信红包随机算法
- 智东西|iPhone 12首个工程机解密!高刷、激光雷达实锤,解密五大疑团
- 智能穿戴|【专利解密】苹果Airpods背后的Snoop监听技术
- |「专利解密」OPPO TWS耳机的串联连接与电量均衡技术
- |「专利解密」“氢听会”——一加低功耗AOD技术
- Array|臭氧层正在愈合,并对大气环流造成重大影响
- Array|瞄准“宅经济”!VR看房成年轻人租房新趋势
- Array|Spanlite公司使用3D打印一次高速烧结8,000个零件
- Array|面面俱到的绝佳体验 优质国产旗舰手机推荐