WPARAM LPARAM2008-09-03 17:25根据字面意思理解:

WPARAM就是DWORD_PARAMETER(双字节参数)的缩写.

LPARAM就是LONG_PARAMETER(长整型参数)的缩写.

WPARAM:16位(双字节(在16位系统的时候))的消息参数。值的格式和意思取决于主要的事件消息类型。在不同的情况下,WPARAM变元可能传输一个坐标点对,使用低字值标识次要的消息类型,提供某些其他的数据类型,或被完全忽略。在很多情况下,WPARAM值将被看成两个独立的字值,分别具有不同的功能。

LPARAM:32位(长整型)的消息参数。这个参数的值和意思取决于主事件消息类型。在不同的情况下,LPARAM变元可能提供一个字符串或记录结构的指针,分解为一组字、字节或标志值,或者往往完全没有用。

在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别。因为地址通常是32位的,所以LPARAM被用来传递地址(指针),这个习惯在Win32 API中仍然能够看到。在Win32 API中,WPARAM和LPARAM都是32位,所以没有什么本质的区别。Windows的消息必须参考帮助文件才能知道具体的含义。如果是你定义的消息,愿意怎么使这两个参数都行。但是习惯上,我们愿意使用LPARAM传递地址,而WPARAM传递其他参数。

microsoft windows内部常见用法:

根据消息类型:

WM_PAINT,WM_COMMAND等:

LOWORD(wParam):子窗口ID

HIWORD(wParam):通知码(告诉父窗口到底发生了什么变化,通知码和控件的类型以及事件相关,系统对每一类控件的每一个事件的通知码都有明确的定义,用一个系统整常量来表示)

lParam:子窗口句柄

WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_LBUTTONUP等:

LOWORD(lParam):坐标的x值

HIWORD(lParam):坐标的y值

如果是用户自定义的消息传递,这两个消息传递的附加参数用户可以自己定义传递什么值,具体视情况而定.如果遇到类型不匹配的情况,可以强制转换,也可以用其他任何合理的方式解决(比如用共用体解决char *不能传递的问题,参考上一篇文章).

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jufengfeng/archive/2008/09/20/2954498.aspx

WPARAM 与 LPARAM相关推荐

  1. wParam和lParam两个参数到底是什么意思?

    在Windows的消息函数中,有两个非常熟悉的参数:wParam,lParam. 这两个参数的字面意义对于现在的程序来说已经不重要了,因为它是16位系统的产物,为了保持程序的可移植性,就将它保存了下来 ...

  2. 关于wParam和lParam

    在VC的函数参数中常出现WPARAM和LPARAM,这两个有什么特殊意义么?它们的含义是不是要事先定义? WPARAM和LPARAM一般在消息里面用的很多,其实没有特殊的含义的.    是两普通的变量 ...

  3. WPARAM 与 LPARAM

    WPARAM LPARAM2008-09-03 17:25根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型 ...

  4. Wparam与Lparam的区别(转)

    Wparam与Lparam的区别 在Win32 SDK中消息本身是作为一个结构体记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息.这个记录类型叫做MSG,它在window中是这样声明的: ...

  5. WPARAM 与 LPARAM 参数的解析 [C#、WinAPI]

    先略谈一下什么是WPARAM 与 LPARAM 参数: 在我们的程序和WindowAPI打交道时,特别是在处理鼠标键盘消息时,WPARAM 与 LPARAM 参数会经常出现.在Win32 API中,W ...

  6. about wParam and lParam

    这两个是Win16系统遗留下来的产物了 在Win16API中WndProc有两个参数 一个是WORD类型的16位整型变量 另一个是LONG类型的32位整型变量, 因此根据匈牙利命名法,16位的变量就被 ...

  7. WPARAM与LPARAM 之区别

    WPARAM与LPARAM 之区别     在Win 3.x中,WPARAM是16位的,而LPARAM是32位的,两者有明显的区别.因为地址通常是32位的,所以LPARAM被用来传递地址,这个习惯在W ...

  8. wParam与 lParam

    根据字面意思理解: WPARAM就是DWORD_PARAMETER(双字节参数)的缩写. LPARAM就是LONG_PARAMETER(长整型参数)的缩写. WPARAM:16位(双字节(在16位系统 ...

  9. windows编程中wParam和lParam消息

    windows编程中wParam和lParam消息 1.WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高. 2 滚动条WM_VSCROLL或WM ...

最新文章

  1. linux将b1内容重定向到b3,linux
  2. stm32f4 hs 电路_三相电路分析
  3. Kotlin1.6.20好用的新特性:多receiver扩展函数,绝不可空类型,并行编译kotlin减少编译时间
  4. matlab做pca人脸识别,[转载]一个修改后的PCA进行人脸识别的Matlab代码,识
  5. adblock拦截iframe
  6. 国密算法SM2-java实现
  7. LeNet-5——CNN经典网络模型详解(pytorch实现)
  8. 【和谐 OS】来了!鸿蒙现场视频解析
  9. QT接收Linux内核,QT界面程序经过网路与普通的linux应用程序进行数据传送的情况...
  10. 数字换算成万单位_烘焙达人必收干货!各种模具的单位换算都在这里,再也不蒙了...
  11. python读取配置文件获取所有键值对_python读取配置文件 变量 ConfigParser模块
  12. 夺命雷公狗---node.js---7fs模块初步
  13. 如何测试前台获得的数据
  14. Oracle文件路径——.dbf与.ora
  15. cmd 获取ftp没反应_python笔记13-执行cmd指令
  16. layui表单验证xmselect必填
  17. 批处理html转excel,批量Excel转TXT工具(Batch Excel to Text Converter)v2020.12.1118官方免费版...
  18. linux命令之文件和目录操作
  19. DDD(领域驱动设计)系列主题:基础概念对象介绍(实体,值对象,仓储等)
  20. 利用 EXE4j 生成 .exe Java Swing程序

热门文章

  1. 程序员一般通过什么途径接私活?怎样做兼职程序员接私活?
  2. Altium Designer 入门笔记(4)层次原理图的设计
  3. 算法(4)购物篮分析
  4. 学习笔记0601----mysql主从
  5. 安卓APP中启动微信小程序,闪一下无法打开问题
  6. 【基础编程】猜数字游戏的提示
  7. VUE 前端PDF分页预览、下载
  8. Python 中复数运算注意点
  9. 基于低秩张量的高光谱图像重建理论基础-基础知识学习
  10. 字符串 Z 字形变换(Java)